зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
bb6b547236
Коммит
32bc201dee
|
@ -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:
|
||||
|
|
Загрузка…
Ссылка в новой задаче