- int createSourceElements() { return 1; }
- ExpressionType makeFunctionCallNode(int, int, int, int, int, int) { return CallExpr; }
- void appendToComma(ExpressionType& base, ExpressionType right) { base = right; }
- ExpressionType createCommaExpr(int, ExpressionType, ExpressionType right) { return right; }
- ExpressionType makeAssignNode(int, ExpressionType, Operator, ExpressionType, bool, bool, int, int, int) { return AssignmentExpr; }
- ExpressionType makePrefixNode(int, ExpressionType, Operator, int, int, int) { return PreExpr; }
- ExpressionType makePostfixNode(int, ExpressionType, Operator, int, int, int) { return PostExpr; }
- ExpressionType makeTypeOfNode(int, ExpressionType) { return TypeofExpr; }
- ExpressionType makeDeleteNode(int, ExpressionType, int, int, int) { return DeleteExpr; }
- ExpressionType makeNegateNode(int, ExpressionType) { return UnaryExpr; }
- ExpressionType makeBitwiseNotNode(int, ExpressionType) { return UnaryExpr; }
- ExpressionType createLogicalNot(int, ExpressionType) { return UnaryExpr; }
- ExpressionType createUnaryPlus(int, ExpressionType) { return UnaryExpr; }
- ExpressionType createVoid(int, ExpressionType) { return UnaryExpr; }
- ExpressionType thisExpr(int) { return ThisExpr; }
- ExpressionType createResolve(int, const Identifier*, int) { return ResolveExpr; }
- ExpressionType createObjectLiteral(int) { return ObjectLiteralExpr; }
- ExpressionType createObjectLiteral(int, int) { return ObjectLiteralExpr; }
- ExpressionType createArray(int, int) { return ArrayLiteralExpr; }
- ExpressionType createArray(int, int, int) { return ArrayLiteralExpr; }
- ExpressionType createNumberExpr(int, double) { return NumberExpr; }
- ExpressionType createString(int, const Identifier*) { return StringExpr; }
- ExpressionType createBoolean(int, bool) { return BoolExpr; }
- ExpressionType createNull(int) { return NullExpr; }
- ExpressionType createBracketAccess(int, ExpressionType, ExpressionType, bool, int, int, int) { return BracketExpr; }
- ExpressionType createDotAccess(int, ExpressionType, const Identifier*, int, int, int) { return DotExpr; }
- ExpressionType createRegExp(int, const Identifier& pattern, const Identifier&, int) { return Yarr::checkSyntax(pattern.ustring()) ? 0 : RegExpExpr; }
- ExpressionType createNewExpr(int, ExpressionType, int, int, int, int) { return NewExpr; }
- ExpressionType createNewExpr(int, ExpressionType, int, int) { return NewExpr; }
- ExpressionType createConditionalExpr(int, ExpressionType, ExpressionType, ExpressionType) { return ConditionalExpr; }
- ExpressionType createAssignResolve(int, const Identifier&, ExpressionType, bool, int, int, int) { return AssignmentExpr; }
- ExpressionType createFunctionExpr(int, const Identifier*, int, int, int, int, int, int) { return FunctionExpr; }
- int createFunctionBody(int, bool) { return 1; }
- int createArguments() { return 1; }
- int createArguments(int) { return 1; }
- int createArgumentsList(int, int) { return 1; }
- int createArgumentsList(int, int, int) { return 1; }
- template <bool complete> Property createProperty(const Identifier* name, int, PropertyNode::Type type)
+ int createSourceElements() { return SourceElementsResult; }
+ ExpressionType makeFunctionCallNode(const JSTokenLocation&, int, int, int, int, int) { return CallExpr; }
+ ExpressionType createCommaExpr(const JSTokenLocation&, ExpressionType expr) { return expr; }
+ ExpressionType appendToCommaExpr(const JSTokenLocation&, ExpressionType& head, ExpressionType, ExpressionType next) { head = next; return next; }
+ ExpressionType makeAssignNode(const JSTokenLocation&, ExpressionType, Operator, ExpressionType, bool, bool, int, int, int) { return AssignmentExpr; }
+ ExpressionType makePrefixNode(const JSTokenLocation&, ExpressionType, Operator, int, int, int) { return PreExpr; }
+ ExpressionType makePostfixNode(const JSTokenLocation&, ExpressionType, Operator, int, int, int) { return PostExpr; }
+ ExpressionType makeTypeOfNode(const JSTokenLocation&, ExpressionType) { return TypeofExpr; }
+ ExpressionType makeDeleteNode(const JSTokenLocation&, ExpressionType, int, int, int) { return DeleteExpr; }
+ ExpressionType makeNegateNode(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
+ ExpressionType makeBitwiseNotNode(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
+ ExpressionType createLogicalNot(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
+ ExpressionType createUnaryPlus(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
+ ExpressionType createVoid(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
+ ExpressionType thisExpr(const JSTokenLocation&, ThisTDZMode) { return ThisExpr; }
+ ExpressionType superExpr(const JSTokenLocation&) { return SuperExpr; }
+ ExpressionType createResolve(const JSTokenLocation&, const Identifier*, int) { return ResolveExpr; }
+ ExpressionType createObjectLiteral(const JSTokenLocation&) { return ObjectLiteralExpr; }
+ ExpressionType createObjectLiteral(const JSTokenLocation&, int) { return ObjectLiteralExpr; }
+ ExpressionType createArray(const JSTokenLocation&, int) { return ArrayLiteralExpr; }
+ ExpressionType createArray(const JSTokenLocation&, int, int) { return ArrayLiteralExpr; }
+ ExpressionType createDoubleExpr(const JSTokenLocation&, double) { return DoubleExpr; }
+ ExpressionType createIntegerExpr(const JSTokenLocation&, double) { return IntegerExpr; }
+ ExpressionType createString(const JSTokenLocation&, const Identifier*) { return StringExpr; }
+ ExpressionType createBoolean(const JSTokenLocation&, bool) { return BoolExpr; }
+ ExpressionType createNull(const JSTokenLocation&) { return NullExpr; }
+ ExpressionType createBracketAccess(const JSTokenLocation&, ExpressionType, ExpressionType, bool, int, int, int) { return BracketExpr; }
+ ExpressionType createDotAccess(const JSTokenLocation&, ExpressionType, const Identifier*, int, int, int) { return DotExpr; }
+ ExpressionType createRegExp(const JSTokenLocation&, const Identifier& pattern, const Identifier&, int) { return Yarr::checkSyntax(pattern.string()) ? 0 : RegExpExpr; }
+ ExpressionType createNewExpr(const JSTokenLocation&, ExpressionType, int, int, int, int) { return NewExpr; }
+ ExpressionType createNewExpr(const JSTokenLocation&, ExpressionType, int, int) { return NewExpr; }
+ ExpressionType createConditionalExpr(const JSTokenLocation&, ExpressionType, ExpressionType, ExpressionType) { return ConditionalExpr; }
+ ExpressionType createAssignResolve(const JSTokenLocation&, const Identifier&, ExpressionType, int, int, int) { return AssignmentExpr; }
+ ExpressionType createEmptyVarExpression(const JSTokenLocation&, const Identifier&) { return AssignmentExpr; }
+#if ENABLE(ES6_CLASS_SYNTAX)
+ ClassExpression createClassExpr(const JSTokenLocation&, const Identifier&, ExpressionType, ExpressionType, PropertyList, PropertyList) { return ClassExpr; }
+#endif
+ ExpressionType createFunctionExpr(const JSTokenLocation&, const ParserFunctionInfo<SyntaxChecker>&) { return FunctionExpr; }
+ int createFunctionBody(const JSTokenLocation&, const JSTokenLocation&, int, int, bool, int, int, int, ConstructorKind) { return FunctionBodyResult; }
+#if ENABLE(ES6_ARROWFUNCTION_SYNTAX)
+ ExpressionType createArrowFunctionExpr(const JSTokenLocation&, const ParserFunctionInfo<SyntaxChecker>&) { return FunctionExpr; }
+#endif
+ void setFunctionNameStart(int, int) { }
+ int createArguments() { return ArgumentsResult; }
+ int createArguments(int) { return ArgumentsResult; }
+ ExpressionType createSpreadExpression(const JSTokenLocation&, ExpressionType, int, int, int) { return SpreadExpr; }
+#if ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX)
+ TemplateString createTemplateString(const JSTokenLocation&, const Identifier&, const Identifier&) { return TemplateStringResult; }
+ TemplateStringList createTemplateStringList(TemplateString) { return TemplateStringListResult; }
+ TemplateStringList createTemplateStringList(TemplateStringList, TemplateString) { return TemplateStringListResult; }
+ TemplateExpressionList createTemplateExpressionList(Expression) { return TemplateExpressionListResult; }
+ TemplateExpressionList createTemplateExpressionList(TemplateExpressionList, Expression) { return TemplateExpressionListResult; }
+ TemplateLiteral createTemplateLiteral(const JSTokenLocation&, TemplateStringList) { return TemplateExpr; }
+ TemplateLiteral createTemplateLiteral(const JSTokenLocation&, TemplateStringList, TemplateExpressionList) { return TemplateExpr; }
+ ExpressionType createTaggedTemplate(const JSTokenLocation&, ExpressionType, TemplateLiteral, int, int, int) { return TaggedTemplateExpr; }
+#endif
+
+ int createArgumentsList(const JSTokenLocation&, int) { return ArgumentsListResult; }
+ int createArgumentsList(const JSTokenLocation&, int, int) { return ArgumentsListResult; }
+ Property createProperty(const Identifier* name, int, PropertyNode::Type type, PropertyNode::PutType, bool complete, SuperBinding = SuperBinding::NotNeeded)