mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
Bug 1451826: Part 8: Make EitherParser always a include a FullParseHandler. (r=Waldo)
--HG-- extra : rebase_source : a5039f20bdf86f3fa2f68b4cd7abf67bbf47fb98
This commit is contained in:
parent
94944b93dc
commit
3546c182cd
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user