Bug 1451826: Part 8: Make EitherParser always a include a FullParseHandler. (r=Waldo)

--HG--
extra : rebase_source : a5039f20bdf86f3fa2f68b4cd7abf67bbf47fb98
This commit is contained in:
Eric Faust 2018-04-27 15:02:31 -07:00
Родитель 94944b93dc
Коммит 3546c182cd
3 изменённых файлов: 11 добавлений и 11 удалений

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

@ -2141,7 +2141,7 @@ class ForOfLoopControl : public LoopControl
};
BytecodeEmitter::BytecodeEmitter(BytecodeEmitter* parent,
const EitherParser<FullParseHandler>& parser, SharedContext* sc,
const EitherParser& parser, SharedContext* sc,
HandleScript script, Handle<LazyScript*> lazyScript,
uint32_t lineNum, EmitterMode emitterMode)
: sc(sc),
@ -2181,7 +2181,7 @@ BytecodeEmitter::BytecodeEmitter(BytecodeEmitter* parent,
}
BytecodeEmitter::BytecodeEmitter(BytecodeEmitter* parent,
const EitherParser<FullParseHandler>& parser, SharedContext* sc,
const EitherParser& parser, SharedContext* sc,
HandleScript script, Handle<LazyScript*> lazyScript,
TokenPos bodyPosition, EmitterMode emitterMode)
: BytecodeEmitter(parent, parser, sc, script, lazyScript,

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

@ -220,7 +220,7 @@ struct MOZ_STACK_CLASS BytecodeEmitter
};
EmitSection prologue, main, *current;
EitherParser<FullParseHandler> parser;
EitherParser parser;
PooledMapPtr<AtomIndexMap> atomIndices; /* literals indexed for mapping */
unsigned firstLine; /* first line, for JSScript::initFromEmitter */
@ -295,7 +295,7 @@ struct MOZ_STACK_CLASS BytecodeEmitter
* tempLifoAlloc and save the pointer beyond the next BytecodeEmitter
* destruction.
*/
BytecodeEmitter(BytecodeEmitter* parent, const EitherParser<FullParseHandler>& parser,
BytecodeEmitter(BytecodeEmitter* parent, const EitherParser& parser,
SharedContext* sc, HandleScript script, Handle<LazyScript*> lazyScript,
uint32_t lineNum, EmitterMode emitterMode = Normal);
@ -303,13 +303,13 @@ struct MOZ_STACK_CLASS BytecodeEmitter
BytecodeEmitter(BytecodeEmitter* parent, Parser<FullParseHandler, CharT>* parser,
SharedContext* sc, HandleScript script, Handle<LazyScript*> lazyScript,
uint32_t lineNum, EmitterMode emitterMode = Normal)
: BytecodeEmitter(parent, EitherParser<FullParseHandler>(parser), sc, script, lazyScript,
: BytecodeEmitter(parent, EitherParser(parser), sc, script, lazyScript,
lineNum, emitterMode)
{}
// An alternate constructor that uses a TokenPos for the starting
// line and that sets functionBodyEndPos as well.
BytecodeEmitter(BytecodeEmitter* parent, const EitherParser<FullParseHandler>& parser,
BytecodeEmitter(BytecodeEmitter* parent, const EitherParser& parser,
SharedContext* sc, HandleScript script, Handle<LazyScript*> lazyScript,
TokenPos bodyPosition, EmitterMode emitterMode = Normal);
@ -317,7 +317,7 @@ struct MOZ_STACK_CLASS BytecodeEmitter
BytecodeEmitter(BytecodeEmitter* parent, Parser<FullParseHandler, CharT>* parser,
SharedContext* sc, HandleScript script, Handle<LazyScript*> lazyScript,
TokenPos bodyPosition, EmitterMode emitterMode = Normal)
: BytecodeEmitter(parent, EitherParser<FullParseHandler>(parser), sc, script, lazyScript,
: BytecodeEmitter(parent, EitherParser(parser), sc, script, lazyScript,
bodyPosition, emitterMode)
{}

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

@ -70,7 +70,7 @@ struct GetParser
template<class Parser>
struct GetParseHandler
{
static auto get(Parser* parser) -> decltype(&parser->handler) {
static frontend::FullParseHandler* get(Parser* parser) {
return &parser->handler;
}
};
@ -147,12 +147,12 @@ struct ErrorReporterMatcher
namespace frontend {
template<class ParseHandler>
class EitherParser
{
mozilla::Variant<Parser<ParseHandler, char16_t>* const> parser;
// Leave this as a variant, to promote good form until 8-bit parser integration.
mozilla::Variant<Parser<FullParseHandler, char16_t>* const> parser;
using Node = typename ParseHandler::Node;
using Node = typename FullParseHandler::Node;
template<template <class Parser> class GetThis,
template <class This> class GetMemberFunction,