|
| ASTBuilder (VM *vm, ParserArena &parserArena, SourceCode *sourceCode) |
|
ExpressionNode * | makeBinaryNode (const JSTokenLocation &, int token, std::pair< ExpressionNode *, BinaryOpInfo >, std::pair< ExpressionNode *, BinaryOpInfo >) |
|
ExpressionNode * | makeFunctionCallNode (const JSTokenLocation &, ExpressionNode *func, ArgumentsNode *args, const JSTextPosition &divotStart, const JSTextPosition &divot, const JSTextPosition &divotEnd) |
|
JSC::SourceElements * | createSourceElements () |
|
int | features () const |
|
int | numConstants () const |
|
ExpressionNode * | makeAssignNode (const JSTokenLocation &, ExpressionNode *left, Operator, ExpressionNode *right, bool leftHasAssignments, bool rightHasAssignments, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | makePrefixNode (const JSTokenLocation &, ExpressionNode *, Operator, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | makePostfixNode (const JSTokenLocation &, ExpressionNode *, Operator, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | makeTypeOfNode (const JSTokenLocation &, ExpressionNode *) |
|
ExpressionNode * | makeDeleteNode (const JSTokenLocation &, ExpressionNode *, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | makeNegateNode (const JSTokenLocation &, ExpressionNode *) |
|
ExpressionNode * | makeBitwiseNotNode (const JSTokenLocation &, ExpressionNode *) |
|
ExpressionNode * | makePowNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeMultNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeDivNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeModNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeAddNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeSubNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeBitXOrNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeBitAndNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeBitOrNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeLeftShiftNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeRightShiftNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | makeURightShiftNode (const JSTokenLocation &, ExpressionNode *left, ExpressionNode *right, bool rightHasAssignments) |
|
ExpressionNode * | createLogicalNot (const JSTokenLocation &location, ExpressionNode *expr) |
|
ExpressionNode * | createUnaryPlus (const JSTokenLocation &location, ExpressionNode *expr) |
|
ExpressionNode * | createVoid (const JSTokenLocation &location, ExpressionNode *expr) |
|
ExpressionNode * | createThisExpr (const JSTokenLocation &location) |
|
ExpressionNode * | createSuperExpr (const JSTokenLocation &location) |
|
ExpressionNode * | createImportExpr (const JSTokenLocation &location, ExpressionNode *expr, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | createNewTargetExpr (const JSTokenLocation location) |
|
bool | isNewTarget (ExpressionNode *node) |
|
ExpressionNode * | createResolve (const JSTokenLocation &location, const Identifier &ident, const JSTextPosition &start, const JSTextPosition &end) |
|
ExpressionNode * | createObjectLiteral (const JSTokenLocation &location) |
|
ExpressionNode * | createObjectLiteral (const JSTokenLocation &location, PropertyListNode *properties) |
|
ExpressionNode * | createArray (const JSTokenLocation &location, int elisions) |
|
ExpressionNode * | createArray (const JSTokenLocation &location, ElementNode *elems) |
|
ExpressionNode * | createArray (const JSTokenLocation &location, int elisions, ElementNode *elems) |
|
ExpressionNode * | createDoubleExpr (const JSTokenLocation &location, double d) |
|
ExpressionNode * | createIntegerExpr (const JSTokenLocation &location, double d) |
|
ExpressionNode * | createString (const JSTokenLocation &location, const Identifier *string) |
|
ExpressionNode * | createBoolean (const JSTokenLocation &location, bool b) |
|
ExpressionNode * | createNull (const JSTokenLocation &location) |
|
ExpressionNode * | createBracketAccess (const JSTokenLocation &location, ExpressionNode *base, ExpressionNode *property, bool propertyHasAssignments, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | createDotAccess (const JSTokenLocation &location, ExpressionNode *base, const Identifier *property, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | createSpreadExpression (const JSTokenLocation &location, ExpressionNode *expression, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
TemplateStringNode * | createTemplateString (const JSTokenLocation &location, const Identifier *cooked, const Identifier *raw) |
|
TemplateStringListNode * | createTemplateStringList (TemplateStringNode *templateString) |
|
TemplateStringListNode * | createTemplateStringList (TemplateStringListNode *templateStringList, TemplateStringNode *templateString) |
|
TemplateExpressionListNode * | createTemplateExpressionList (ExpressionNode *expression) |
|
TemplateExpressionListNode * | createTemplateExpressionList (TemplateExpressionListNode *templateExpressionListNode, ExpressionNode *expression) |
|
TemplateLiteralNode * | createTemplateLiteral (const JSTokenLocation &location, TemplateStringListNode *templateStringList) |
|
TemplateLiteralNode * | createTemplateLiteral (const JSTokenLocation &location, TemplateStringListNode *templateStringList, TemplateExpressionListNode *templateExpressionList) |
|
ExpressionNode * | createTaggedTemplate (const JSTokenLocation &location, ExpressionNode *base, TemplateLiteralNode *templateLiteral, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | createRegExp (const JSTokenLocation &location, const Identifier &pattern, const Identifier &flags, const JSTextPosition &start) |
|
ExpressionNode * | createNewExpr (const JSTokenLocation &location, ExpressionNode *expr, ArgumentsNode *arguments, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ExpressionNode * | createNewExpr (const JSTokenLocation &location, ExpressionNode *expr, const JSTextPosition &start, const JSTextPosition &end) |
|
ExpressionNode * | createConditionalExpr (const JSTokenLocation &location, ExpressionNode *condition, ExpressionNode *lhs, ExpressionNode *rhs) |
|
ExpressionNode * | createAssignResolve (const JSTokenLocation &location, const Identifier &ident, ExpressionNode *rhs, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end, AssignmentContext assignmentContext) |
|
YieldExprNode * | createYield (const JSTokenLocation &location) |
|
YieldExprNode * | createYield (const JSTokenLocation &location, ExpressionNode *argument, bool delegate, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
AwaitExprNode * | createAwait (const JSTokenLocation &location, ExpressionNode *argument, const JSTextPosition &start, const JSTextPosition &divot, const JSTextPosition &end) |
|
ClassExprNode * | createClassExpr (const JSTokenLocation &location, const ParserClassInfo< ASTBuilder > &classInfo, VariableEnvironment &classEnvironment, ExpressionNode *constructor, ExpressionNode *parentClass, PropertyListNode *instanceMethods, PropertyListNode *staticMethods) |
|
ExpressionNode * | createFunctionExpr (const JSTokenLocation &location, const ParserFunctionInfo< ASTBuilder > &functionInfo) |
|
ExpressionNode * | createGeneratorFunctionBody (const JSTokenLocation &location, const ParserFunctionInfo< ASTBuilder > &functionInfo, const Identifier &name) |
|
ExpressionNode * | createAsyncFunctionBody (const JSTokenLocation &location, const ParserFunctionInfo< ASTBuilder > &functionInfo, SourceParseMode parseMode) |
|
ExpressionNode * | createMethodDefinition (const JSTokenLocation &location, const ParserFunctionInfo< ASTBuilder > &functionInfo) |
|
FunctionMetadataNode * | createFunctionMetadata (const JSTokenLocation &startLocation, const JSTokenLocation &endLocation, unsigned startColumn, unsigned endColumn, int functionKeywordStart, int functionNameStart, int parametersStart, bool inStrictContext, ConstructorKind constructorKind, SuperBinding superBinding, unsigned parameterCount, unsigned functionLength, SourceParseMode mode, bool isArrowFunctionBodyExpression) |
|
ExpressionNode * | createArrowFunctionExpr (const JSTokenLocation &location, const ParserFunctionInfo< ASTBuilder > &functionInfo) |
|
NEVER_INLINE PropertyNode * | createGetterOrSetterProperty (const JSTokenLocation &location, PropertyNode::Type type, bool, const Identifier *name, const ParserFunctionInfo< ASTBuilder > &functionInfo, bool isClassProperty) |
|
NEVER_INLINE PropertyNode * | createGetterOrSetterProperty (const JSTokenLocation &location, PropertyNode::Type type, bool, ExpressionNode *name, const ParserFunctionInfo< ASTBuilder > &functionInfo, bool isClassProperty) |
|
NEVER_INLINE PropertyNode * | createGetterOrSetterProperty (VM *vm, ParserArena &parserArena, const JSTokenLocation &location, PropertyNode::Type type, bool, double name, const ParserFunctionInfo< ASTBuilder > &functionInfo, bool isClassProperty) |
|
ArgumentsNode * | createArguments () |
|
ArgumentsNode * | createArguments (ArgumentListNode *args) |
|
ArgumentListNode * | createArgumentsList (const JSTokenLocation &location, ExpressionNode *arg) |
|
ArgumentListNode * | createArgumentsList (const JSTokenLocation &location, ArgumentListNode *args, ExpressionNode *arg) |
|
PropertyNode * | createProperty (const Identifier *propertyName, ExpressionNode *node, PropertyNode::Type type, PropertyNode::PutType putType, bool, SuperBinding superBinding, bool isClassProperty) |
|
PropertyNode * | createProperty (VM *vm, ParserArena &parserArena, double propertyName, ExpressionNode *node, PropertyNode::Type type, PropertyNode::PutType putType, bool, SuperBinding superBinding, bool isClassProperty) |
|
PropertyNode * | createProperty (ExpressionNode *propertyName, ExpressionNode *node, PropertyNode::Type type, PropertyNode::PutType putType, bool, SuperBinding superBinding, bool isClassProperty) |
|
PropertyListNode * | createPropertyList (const JSTokenLocation &location, PropertyNode *property) |
|
PropertyListNode * | createPropertyList (const JSTokenLocation &location, PropertyNode *property, PropertyListNode *tail) |
|
ElementNode * | createElementList (int elisions, ExpressionNode *expr) |
|
ElementNode * | createElementList (ElementNode *elems, int elisions, ExpressionNode *expr) |
|
ElementNode * | createElementList (ArgumentListNode *elems) |
|
FormalParameterList | createFormalParameterList () |
|
void | appendParameter (FormalParameterList list, DestructuringPattern pattern, ExpressionNode *defaultValue) |
|
CaseClauseNode * | createClause (ExpressionNode *expr, JSC::SourceElements *statements) |
|
ClauseListNode * | createClauseList (CaseClauseNode *clause) |
|
ClauseListNode * | createClauseList (ClauseListNode *tail, CaseClauseNode *clause) |
|
StatementNode * | createFuncDeclStatement (const JSTokenLocation &location, const ParserFunctionInfo< ASTBuilder > &functionInfo) |
|
StatementNode * | createClassDeclStatement (const JSTokenLocation &location, ClassExprNode *classExpression, const JSTextPosition &classStart, const JSTextPosition &classEnd, unsigned startLine, unsigned endLine) |
|
StatementNode * | createBlockStatement (const JSTokenLocation &location, JSC::SourceElements *elements, int startLine, int endLine, VariableEnvironment &lexicalVariables, DeclarationStacks::FunctionStack &&functionStack) |
|
StatementNode * | createExprStatement (const JSTokenLocation &location, ExpressionNode *expr, const JSTextPosition &start, int end) |
|
StatementNode * | createIfStatement (const JSTokenLocation &location, ExpressionNode *condition, StatementNode *trueBlock, StatementNode *falseBlock, int start, int end) |
|
StatementNode * | createForLoop (const JSTokenLocation &location, ExpressionNode *initializer, ExpressionNode *condition, ExpressionNode *iter, StatementNode *statements, int start, int end, VariableEnvironment &lexicalVariables) |
|
StatementNode * | createForInLoop (const JSTokenLocation &location, ExpressionNode *lhs, ExpressionNode *iter, StatementNode *statements, const JSTokenLocation &, const JSTextPosition &eStart, const JSTextPosition &eDivot, const JSTextPosition &eEnd, int start, int end, VariableEnvironment &lexicalVariables) |
|
StatementNode * | createForInLoop (const JSTokenLocation &location, DestructuringPatternNode *pattern, ExpressionNode *iter, StatementNode *statements, const JSTokenLocation &declLocation, const JSTextPosition &eStart, const JSTextPosition &eDivot, const JSTextPosition &eEnd, int start, int end, VariableEnvironment &lexicalVariables) |
|
StatementNode * | createForOfLoop (const JSTokenLocation &location, ExpressionNode *lhs, ExpressionNode *iter, StatementNode *statements, const JSTokenLocation &, const JSTextPosition &eStart, const JSTextPosition &eDivot, const JSTextPosition &eEnd, int start, int end, VariableEnvironment &lexicalVariables) |
|
StatementNode * | createForOfLoop (const JSTokenLocation &location, DestructuringPatternNode *pattern, ExpressionNode *iter, StatementNode *statements, const JSTokenLocation &declLocation, const JSTextPosition &eStart, const JSTextPosition &eDivot, const JSTextPosition &eEnd, int start, int end, VariableEnvironment &lexicalVariables) |
|
bool | isBindingNode (const DestructuringPattern &pattern) |
|
bool | isAssignmentLocation (const Expression &pattern) |
|
bool | isObjectLiteral (const Expression &node) |
|
bool | isArrayLiteral (const Expression &node) |
|
bool | isObjectOrArrayLiteral (const Expression &node) |
|
bool | shouldSkipPauseLocation (StatementNode *statement) const |
|
StatementNode * | createEmptyStatement (const JSTokenLocation &location) |
|
StatementNode * | createDeclarationStatement (const JSTokenLocation &location, ExpressionNode *expr, int start, int end) |
|
ExpressionNode * | createEmptyVarExpression (const JSTokenLocation &location, const Identifier &identifier) |
|
ExpressionNode * | createEmptyLetExpression (const JSTokenLocation &location, const Identifier &identifier) |
|
StatementNode * | createReturnStatement (const JSTokenLocation &location, ExpressionNode *expression, const JSTextPosition &start, const JSTextPosition &end) |
|
StatementNode * | createBreakStatement (const JSTokenLocation &location, const Identifier *ident, const JSTextPosition &start, const JSTextPosition &end) |
|
StatementNode * | createContinueStatement (const JSTokenLocation &location, const Identifier *ident, const JSTextPosition &start, const JSTextPosition &end) |
|
StatementNode * | createTryStatement (const JSTokenLocation &location, StatementNode *tryBlock, DestructuringPatternNode *catchPattern, StatementNode *catchBlock, StatementNode *finallyBlock, int startLine, int endLine, VariableEnvironment &catchEnvironment) |
|
StatementNode * | createSwitchStatement (const JSTokenLocation &location, ExpressionNode *expr, ClauseListNode *firstClauses, CaseClauseNode *defaultClause, ClauseListNode *secondClauses, int startLine, int endLine, VariableEnvironment &lexicalVariables, DeclarationStacks::FunctionStack &&functionStack) |
|
StatementNode * | createWhileStatement (const JSTokenLocation &location, ExpressionNode *expr, StatementNode *statement, int startLine, int endLine) |
|
StatementNode * | createDoWhileStatement (const JSTokenLocation &location, StatementNode *statement, ExpressionNode *expr, int startLine, int endLine) |
|
StatementNode * | createLabelStatement (const JSTokenLocation &location, const Identifier *ident, StatementNode *statement, const JSTextPosition &start, const JSTextPosition &end) |
|
StatementNode * | createWithStatement (const JSTokenLocation &location, ExpressionNode *expr, StatementNode *statement, unsigned start, const JSTextPosition &end, unsigned startLine, unsigned endLine) |
|
StatementNode * | createThrowStatement (const JSTokenLocation &location, ExpressionNode *expr, const JSTextPosition &start, const JSTextPosition &end) |
|
StatementNode * | createDebugger (const JSTokenLocation &location, int startLine, int endLine) |
|
ModuleNameNode * | createModuleName (const JSTokenLocation &location, const Identifier &moduleName) |
|
ImportSpecifierNode * | createImportSpecifier (const JSTokenLocation &location, const Identifier &importedName, const Identifier &localName) |
|
ImportSpecifierListNode * | createImportSpecifierList () |
|
void | appendImportSpecifier (ImportSpecifierListNode *specifierList, ImportSpecifierNode *specifier) |
|
StatementNode * | createImportDeclaration (const JSTokenLocation &location, ImportSpecifierListNode *importSpecifierList, ModuleNameNode *moduleName) |
|
StatementNode * | createExportAllDeclaration (const JSTokenLocation &location, ModuleNameNode *moduleName) |
|
StatementNode * | createExportDefaultDeclaration (const JSTokenLocation &location, StatementNode *declaration, const Identifier &localName) |
|
StatementNode * | createExportLocalDeclaration (const JSTokenLocation &location, StatementNode *declaration) |
|
StatementNode * | createExportNamedDeclaration (const JSTokenLocation &location, ExportSpecifierListNode *exportSpecifierList, ModuleNameNode *moduleName) |
|
ExportSpecifierNode * | createExportSpecifier (const JSTokenLocation &location, const Identifier &localName, const Identifier &exportedName) |
|
ExportSpecifierListNode * | createExportSpecifierList () |
|
void | appendExportSpecifier (ExportSpecifierListNode *specifierList, ExportSpecifierNode *specifier) |
|
void | appendStatement (JSC::SourceElements *elements, JSC::StatementNode *statement) |
|
CommaNode * | createCommaExpr (const JSTokenLocation &location, ExpressionNode *node) |
|
CommaNode * | appendToCommaExpr (const JSTokenLocation &location, ExpressionNode *, ExpressionNode *tail, ExpressionNode *next) |
|
int | evalCount () const |
|
void | appendBinaryExpressionInfo (int &operandStackDepth, ExpressionNode *current, const JSTextPosition &exprStart, const JSTextPosition &lhs, const JSTextPosition &rhs, bool hasAssignments) |
|
void | operatorStackPop (int &operatorStackDepth) |
|
bool | operatorStackShouldReduce (int precedence) |
|
const BinaryOperand & | getFromOperandStack (int i) |
|
void | shrinkOperandStackBy (int &operandStackDepth, int amount) |
|
void | appendBinaryOperation (const JSTokenLocation &location, int &operandStackDepth, int &, const BinaryOperand &lhs, const BinaryOperand &rhs) |
|
void | operatorStackAppend (int &operatorStackDepth, int op, int precedence) |
|
ExpressionNode * | popOperandStack (int &) |
|
void | appendUnaryToken (int &tokenStackDepth, int type, const JSTextPosition &start) |
|
int | unaryTokenStackLastType (int &) |
|
const JSTextPosition & | unaryTokenStackLastStart (int &) |
|
void | unaryTokenStackRemoveLast (int &tokenStackDepth) |
|
void | assignmentStackAppend (int &assignmentStackDepth, ExpressionNode *node, const JSTextPosition &start, const JSTextPosition &divot, int assignmentCount, Operator op) |
|
ExpressionNode * | createAssignment (const JSTokenLocation &location, int &assignmentStackDepth, ExpressionNode *rhs, int initialAssignmentCount, int currentAssignmentCount, const JSTextPosition &lastTokenEnd) |
|
const Identifier * | getName (const Property &property) const |
|
PropertyNode::Type | getType (const Property &property) const |
|
bool | isResolve (ExpressionNode *expr) const |
|
ExpressionNode * | createDestructuringAssignment (const JSTokenLocation &location, DestructuringPattern pattern, ExpressionNode *initializer) |
|
ArrayPattern | createArrayPattern (const JSTokenLocation &) |
|
void | appendArrayPatternSkipEntry (ArrayPattern node, const JSTokenLocation &location) |
|
void | appendArrayPatternEntry (ArrayPattern node, const JSTokenLocation &location, DestructuringPattern pattern, ExpressionNode *defaultValue) |
|
void | appendArrayPatternRestEntry (ArrayPattern node, const JSTokenLocation &location, DestructuringPattern pattern) |
|
void | finishArrayPattern (ArrayPattern node, const JSTextPosition &divotStart, const JSTextPosition &divot, const JSTextPosition &divotEnd) |
|
ObjectPattern | createObjectPattern (const JSTokenLocation &) |
|
void | appendObjectPatternEntry (ObjectPattern node, const JSTokenLocation &location, bool wasString, const Identifier &identifier, DestructuringPattern pattern, ExpressionNode *defaultValue) |
|
void | appendObjectPatternEntry (ObjectPattern node, const JSTokenLocation &location, ExpressionNode *propertyExpression, DestructuringPattern pattern, ExpressionNode *defaultValue) |
|
BindingPattern | createBindingLocation (const JSTokenLocation &, const Identifier &boundProperty, const JSTextPosition &start, const JSTextPosition &end, AssignmentContext context) |
|
RestParameterNode * | createRestParameter (DestructuringPatternNode *pattern, size_t numParametersToSkip) |
|
AssignmentElement | createAssignmentElement (const Expression &assignmentTarget, const JSTextPosition &start, const JSTextPosition &end) |
|
void | setEndOffset (Node *node, int offset) |
|
int | endOffset (Node *node) |
|
void | setStartOffset (CaseClauseNode *node, int offset) |
|
void | setStartOffset (Node *node, int offset) |
|
JSTextPosition | breakpointLocation (Node *node) |
|
void | propagateArgumentsUse () |
|