webkit
2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
|
#include <Parser.h>
Public Member Functions | |
Parser (VM *, const SourceCode &, JSParserBuiltinMode, JSParserStrictMode, JSParserScriptMode, SourceParseMode, SuperBinding, ConstructorKind defaultConstructorKind=ConstructorKind::None, DerivedContextType=DerivedContextType::None, bool isEvalContext=false, EvalContextType=EvalContextType::None, DebuggerParseData *=nullptr) | |
~Parser () | |
template<class ParsedNode > | |
std::unique_ptr< ParsedNode > | parse (ParserError &, const Identifier &, SourceParseMode) |
JSTextPosition | positionBeforeLastNewline () const |
JSTokenLocation | locationBeforeLastToken () const |
Parser (VM *, const SourceCode &, JSParserBuiltinMode, JSParserStrictMode, JSParserScriptMode, SourceParseMode, SuperBinding, ConstructorKind defaultConstructorKind=ConstructorKind::None, DerivedContextType=DerivedContextType::None, bool isEvalContext=false, EvalContextType=EvalContextType::None, DebuggerParseData *=nullptr) | |
~Parser () | |
template<class ParsedNode > | |
std::unique_ptr< ParsedNode > | parse (ParserError &, const Identifier &, SourceParseMode) |
JSTextPosition | positionBeforeLastNewline () const |
JSTokenLocation | locationBeforeLastToken () const |
template<typename... Args> | |
void | logError (bool shouldPrintToken, Args &&... args) |
template<class TreeBuilder > | |
TreeDestructuringPattern | createBindingPattern (TreeBuilder &context, DestructuringKind kind, ExportType exportType, const Identifier &name, JSToken token, AssignmentContext bindingContext, const Identifier **duplicateIdentifier) |
template<class TreeBuilder > | |
TreeDestructuringPattern | tryParseDestructuringPatternExpression (TreeBuilder &context, AssignmentContext bindingContext) |
template<class TreeBuilder > | |
TreeDestructuringPattern | parseBindingOrAssignmentElement (TreeBuilder &context, DestructuringKind kind, ExportType exportType, const Identifier **duplicateIdentifier, bool *hasDestructuringPattern, AssignmentContext bindingContext, int depth) |
template<class TreeBuilder > | |
TreeDestructuringPattern | parseAssignmentElement (TreeBuilder &context, DestructuringKind kind, ExportType exportType, const Identifier **duplicateIdentifier, bool *hasDestructuringPattern, AssignmentContext bindingContext, int depth) |
template<class TreeBuilder > | |
TreeDestructuringPattern | parseDestructuringPattern (TreeBuilder &context, DestructuringKind kind, ExportType exportType, const Identifier **duplicateIdentifier, bool *hasDestructuringPattern, AssignmentContext bindingContext, int depth) |
template<class TreeBuilder > | |
TreeExpression | parseDefaultValueForDestructuringPattern (TreeBuilder &context) |
template<class TreeBuilder > | |
bool | maybeParseAsyncFunctionDeclarationStatement (TreeBuilder &context, TreeStatement &result, bool parentAllowsFunctionDeclarationAsStatement) |
template<class TreeBuilder > | |
bool | parseFormalParameters (TreeBuilder &context, TreeFormalParameterList list, bool isArrowFunction, unsigned ¶meterCount, unsigned &functionLength) |
template<class TreeBuilder > | |
TreeFunctionBody | parseFunctionBody (TreeBuilder &context, SyntaxChecker &syntaxChecker, const JSTokenLocation &startLocation, int startColumn, int functionKeywordStart, int functionNameStart, int parametersStart, ConstructorKind constructorKind, SuperBinding superBinding, FunctionBodyType bodyType, unsigned parameterCount, unsigned functionLength, SourceParseMode parseMode) |
template<class TreeBuilder , class FunctionInfoType > | |
TreeBuilder::FormalParameterList | parseFunctionParameters (TreeBuilder &context, SourceParseMode mode, FunctionInfoType &functionInfo) |
template<class TreeBuilder > | |
TreeBuilder::FormalParameterList | createGeneratorParameters (TreeBuilder &context, unsigned ¶meterCount) |
template<class TreeBuilder > | |
bool | parseFunctionInfo (TreeBuilder &context, FunctionNameRequirements requirements, SourceParseMode mode, bool nameIsInContainingScope, ConstructorKind constructorKind, SuperBinding expectedSuperBinding, int functionKeywordStart, ParserFunctionInfo< TreeBuilder > &functionInfo, FunctionDefinitionType functionDefinitionType) |
template<class TreeBuilder > | |
TreeClassExpression | parseClass (TreeBuilder &context, FunctionNameRequirements requirements, ParserClassInfo< TreeBuilder > &info) |
template<class TreeBuilder > | |
TreeExpression | parseAwaitExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseConditionalExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseBinaryExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
bool | shouldCheckPropertyForUnderscoreProtoDuplicate (TreeBuilder &context, const TreeProperty &property) |
template<class TreeBuilder > | |
TreeExpression | parseObjectLiteral (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseStrictObjectLiteral (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseArrayLiteral (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeClassExpression | parseClassExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseFunctionExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseAsyncFunctionExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeBuilder::TemplateString | parseTemplateString (TreeBuilder &context, bool isTemplateHead, typename LexerType::RawStringsBuildMode rawStringsBuildMode, bool &elementIsTail) |
template<class TreeBuilder > | |
TreeBuilder::TemplateLiteral | parseTemplateLiteral (TreeBuilder &context, typename LexerType::RawStringsBuildMode rawStringsBuildMode) |
template<class TreeBuilder > | |
TreeExpression | createResolveAndUseVariable (TreeBuilder &context, const Identifier *ident, bool isEval, const JSTextPosition &start, const JSTokenLocation &location) |
template<class TreeBuilder > | |
TreeExpression | parsePrimaryExpression (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeArguments | parseArguments (TreeBuilder &context) |
template<class TreeBuilder > | |
TreeExpression | parseArgument (TreeBuilder &context, ArgumentType &type) |
template<class TreeBuilder > | |
TreeExpression | parseUnaryExpression (TreeBuilder &context) |
JSC::Parser< LexerType >::Parser | ( | VM * | vm, |
const SourceCode & | source, | ||
JSParserBuiltinMode | builtinMode, | ||
JSParserStrictMode | strictMode, | ||
JSParserScriptMode | scriptMode, | ||
SourceParseMode | parseMode, | ||
SuperBinding | superBinding, | ||
ConstructorKind | defaultConstructorKind = ConstructorKind::None , |
||
DerivedContextType | derivedContextType = DerivedContextType::None , |
||
bool | isEvalContext = false , |
||
EvalContextType | evalContextType = EvalContextType::None , |
||
DebuggerParseData * | debuggerParseData = nullptr |
||
) |
JSC::Parser< LexerType >::~Parser | ( | ) |
JSC::Parser< LexerType >::Parser | ( | VM * | , |
const SourceCode & | , | ||
JSParserBuiltinMode | , | ||
JSParserStrictMode | , | ||
JSParserScriptMode | , | ||
SourceParseMode | , | ||
SuperBinding | , | ||
ConstructorKind | defaultConstructorKind = ConstructorKind::None , |
||
DerivedContextType | = DerivedContextType::None , |
||
bool | isEvalContext = false , |
||
EvalContextType | = EvalContextType::None , |
||
DebuggerParseData * | = nullptr |
||
) |
JSC::Parser< LexerType >::~Parser | ( | ) |
TreeDestructuringPattern JSC::Parser< LexerType >::createBindingPattern | ( | TreeBuilder & | context, |
DestructuringKind | kind, | ||
ExportType | exportType, | ||
const Identifier & | name, | ||
JSToken | token, | ||
AssignmentContext | bindingContext, | ||
const Identifier ** | duplicateIdentifier | ||
) |
TreeBuilder::FormalParameterList JSC::Parser< LexerType >::createGeneratorParameters | ( | TreeBuilder & | context, |
unsigned & | parameterCount | ||
) |
TreeExpression JSC::Parser< LexerType >::createResolveAndUseVariable | ( | TreeBuilder & | context, |
const Identifier * | ident, | ||
bool | isEval, | ||
const JSTextPosition & | start, | ||
const JSTokenLocation & | location | ||
) |
|
inline |
|
inline |
void JSC::Parser< LexerType >::logError | ( | bool | shouldPrintToken, |
Args &&... | args | ||
) |
bool JSC::Parser< LexerType >::maybeParseAsyncFunctionDeclarationStatement | ( | TreeBuilder & | context, |
TreeStatement & | result, | ||
bool | parentAllowsFunctionDeclarationAsStatement | ||
) |
std::unique_ptr<ParsedNode> JSC::Parser< LexerType >::parse | ( | ParserError & | , |
const Identifier & | , | ||
SourceParseMode | |||
) |
std::unique_ptr< ParsedNode > JSC::Parser< LexerType >::parse | ( | ParserError & | error, |
const Identifier & | calleeName, | ||
SourceParseMode | parseMode | ||
) |
TreeExpression JSC::Parser< LexerType >::parseArgument | ( | TreeBuilder & | context, |
ArgumentType & | type | ||
) |
TreeArguments JSC::Parser< LexerType >::parseArguments | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parseArrayLiteral | ( | TreeBuilder & | context | ) |
TreeDestructuringPattern JSC::Parser< LexerType >::parseAssignmentElement | ( | TreeBuilder & | context, |
DestructuringKind | kind, | ||
ExportType | exportType, | ||
const Identifier ** | duplicateIdentifier, | ||
bool * | hasDestructuringPattern, | ||
AssignmentContext | bindingContext, | ||
int | depth | ||
) |
TreeExpression JSC::Parser< LexerType >::parseAsyncFunctionExpression | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parseAwaitExpression | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parseBinaryExpression | ( | TreeBuilder & | context | ) |
TreeDestructuringPattern JSC::Parser< LexerType >::parseBindingOrAssignmentElement | ( | TreeBuilder & | context, |
DestructuringKind | kind, | ||
ExportType | exportType, | ||
const Identifier ** | duplicateIdentifier, | ||
bool * | hasDestructuringPattern, | ||
AssignmentContext | bindingContext, | ||
int | depth | ||
) |
TreeClassExpression JSC::Parser< LexerType >::parseClass | ( | TreeBuilder & | context, |
FunctionNameRequirements | requirements, | ||
ParserClassInfo< TreeBuilder > & | info | ||
) |
TreeClassExpression JSC::Parser< LexerType >::parseClassExpression | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parseConditionalExpression | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parseDefaultValueForDestructuringPattern | ( | TreeBuilder & | context | ) |
TreeDestructuringPattern JSC::Parser< LexerType >::parseDestructuringPattern | ( | TreeBuilder & | context, |
DestructuringKind | kind, | ||
ExportType | exportType, | ||
const Identifier ** | duplicateIdentifier, | ||
bool * | hasDestructuringPattern, | ||
AssignmentContext | bindingContext, | ||
int | depth | ||
) |
bool JSC::Parser< LexerType >::parseFormalParameters | ( | TreeBuilder & | context, |
TreeFormalParameterList | list, | ||
bool | isArrowFunction, | ||
unsigned & | parameterCount, | ||
unsigned & | functionLength | ||
) |
TreeFunctionBody JSC::Parser< LexerType >::parseFunctionBody | ( | TreeBuilder & | context, |
SyntaxChecker & | syntaxChecker, | ||
const JSTokenLocation & | startLocation, | ||
int | startColumn, | ||
int | functionKeywordStart, | ||
int | functionNameStart, | ||
int | parametersStart, | ||
ConstructorKind | constructorKind, | ||
SuperBinding | superBinding, | ||
FunctionBodyType | bodyType, | ||
unsigned | parameterCount, | ||
unsigned | functionLength, | ||
SourceParseMode | parseMode | ||
) |
TreeExpression JSC::Parser< LexerType >::parseFunctionExpression | ( | TreeBuilder & | context | ) |
bool JSC::Parser< LexerType >::parseFunctionInfo | ( | TreeBuilder & | context, |
FunctionNameRequirements | requirements, | ||
SourceParseMode | mode, | ||
bool | nameIsInContainingScope, | ||
ConstructorKind | constructorKind, | ||
SuperBinding | expectedSuperBinding, | ||
int | functionKeywordStart, | ||
ParserFunctionInfo< TreeBuilder > & | functionInfo, | ||
FunctionDefinitionType | functionDefinitionType | ||
) |
TreeBuilder::FormalParameterList JSC::Parser< LexerType >::parseFunctionParameters | ( | TreeBuilder & | context, |
SourceParseMode | mode, | ||
FunctionInfoType & | functionInfo | ||
) |
TreeExpression JSC::Parser< LexerType >::parseObjectLiteral | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parsePrimaryExpression | ( | TreeBuilder & | context | ) |
TreeExpression JSC::Parser< LexerType >::parseStrictObjectLiteral | ( | TreeBuilder & | context | ) |
TreeBuilder::TemplateLiteral JSC::Parser< LexerType >::parseTemplateLiteral | ( | TreeBuilder & | context, |
typename LexerType::RawStringsBuildMode | rawStringsBuildMode | ||
) |
TreeBuilder::TemplateString JSC::Parser< LexerType >::parseTemplateString | ( | TreeBuilder & | context, |
bool | isTemplateHead, | ||
typename LexerType::RawStringsBuildMode | rawStringsBuildMode, | ||
bool & | elementIsTail | ||
) |
TreeExpression JSC::Parser< LexerType >::parseUnaryExpression | ( | TreeBuilder & | context | ) |
|
inline |
|
inline |
bool JSC::Parser< LexerType >::shouldCheckPropertyForUnderscoreProtoDuplicate | ( | TreeBuilder & | context, |
const TreeProperty & | property | ||
) |
TreeDestructuringPattern JSC::Parser< LexerType >::tryParseDestructuringPatternExpression | ( | TreeBuilder & | context, |
AssignmentContext | bindingContext | ||
) |