Bug 1424394 - Change ErrorReporter::reportErrorNoOffset to take a va_list of parameters, not direct varargs. r=Yoric

--HG--
extra : rebase_source : 2bfe40572fc2247b7973150afec01d4258e7b168
This commit is contained in:
Jeff Walden 2017-11-06 13:21:06 -08:00
Родитель bb6b547236
Коммит 32bc201dee
3 изменённых файлов: 25 добавлений и 9 удалений

Просмотреть файл

@ -1,18 +1,39 @@
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
* vim: set ts=8 sts=4 et sw=4 tw=99:
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef frontend_ErrorReporter_h
#define frontend_ErrorReporter_h
#include <stdarg.h> // for va_list
#include <stddef.h> // for size_t
#include <stdint.h> // for uint32_t
#include "jsapi.h" // for JS::ReadOnlyCompileOptions
namespace js {
namespace frontend {
class ErrorReporter
{
public:
virtual const ReadOnlyCompileOptions& options() const = 0;
virtual const JS::ReadOnlyCompileOptions& options() const = 0;
virtual void lineNumAndColumnIndex(size_t offset, uint32_t* line, uint32_t* column) const = 0;
virtual size_t offset() const = 0;
virtual bool hasTokenizationStarted() const = 0;
virtual void reportErrorNoOffset(unsigned errorNumber, ...) = 0;
virtual void reportErrorNoOffsetVA(unsigned errorNumber, va_list args) = 0;
virtual const char* getFilename() const = 0;
void reportErrorNoOffset(unsigned errorNumber, ...) {
va_list args;
va_start(args, errorNumber);
reportErrorNoOffsetVA(errorNumber, args);
va_end(args);
}
};
} // namespace frontend

Просмотреть файл

@ -858,17 +858,12 @@ TokenStream::reportError(unsigned errorNumber, ...)
}
void
TokenStreamAnyChars::reportErrorNoOffset(unsigned errorNumber, ...)
TokenStreamAnyChars::reportErrorNoOffsetVA(unsigned errorNumber, va_list args)
{
va_list args;
va_start(args, errorNumber);
ErrorMetadata metadata;
computeErrorMetadataNoOffset(&metadata);
ReportCompileError(cx, Move(metadata), nullptr, JSREPORT_ERROR, errorNumber, args);
va_end(args);
}
bool

Просмотреть файл

@ -585,7 +585,7 @@ class TokenStreamAnyChars: public ErrorReporter
virtual const char* getFilename() const override { return filename; }
virtual bool hasTokenizationStarted() const override;
virtual void lineNumAndColumnIndex(size_t offset, uint32_t* line, uint32_t* column) const override;
virtual void reportErrorNoOffset(unsigned errorNumber, ...) override;
virtual void reportErrorNoOffsetVA(unsigned errorNumber, va_list args) override;
virtual size_t offset() const override;
protected: