summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/parser/SyntaxChecker.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/JavaScriptCore/parser/SyntaxChecker.h
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/JavaScriptCore/parser/SyntaxChecker.h')
-rw-r--r--Source/JavaScriptCore/parser/SyntaxChecker.h262
1 files changed, 77 insertions, 185 deletions
diff --git a/Source/JavaScriptCore/parser/SyntaxChecker.h b/Source/JavaScriptCore/parser/SyntaxChecker.h
index eed7b8ce3..0328b1273 100644
--- a/Source/JavaScriptCore/parser/SyntaxChecker.h
+++ b/Source/JavaScriptCore/parser/SyntaxChecker.h
@@ -27,7 +27,6 @@
#define SyntaxChecker_h
#include "Lexer.h"
-#include "ParserFunctionInfo.h"
#include "YarrSyntaxChecker.h"
namespace JSC {
@@ -69,25 +68,14 @@ public:
{
}
+ typedef SyntaxChecker FunctionBodyBuilder;
enum { NoneExpr = 0,
- ResolveEvalExpr, ResolveExpr, IntegerExpr, DoubleExpr, StringExpr,
+ ResolveEvalExpr, ResolveExpr, NumberExpr, StringExpr,
ThisExpr, NullExpr, BoolExpr, RegExpExpr, ObjectLiteralExpr,
- FunctionExpr, ClassExpr, SuperExpr, BracketExpr, DotExpr, CallExpr,
+ FunctionExpr, BracketExpr, DotExpr, CallExpr,
NewExpr, PreExpr, PostExpr, UnaryExpr, BinaryExpr,
- ConditionalExpr, AssignmentExpr, TypeofExpr, NewTargetExpr,
- DeleteExpr, ArrayLiteralExpr, BindingDestructuring, RestParameter,
- ArrayDestructuring, ObjectDestructuring, SourceElementsResult,
- FunctionBodyResult, SpreadExpr, ArgumentsResult,
- PropertyListResult, ArgumentsListResult, ElementsListResult,
- StatementResult, FormalParameterListResult, ClauseResult,
- ClauseListResult, CommaExpr, DestructuringAssignment,
- TemplateStringResult, TemplateStringListResult,
- TemplateExpressionListResult, TemplateExpr,
- TaggedTemplateExpr, YieldExpr,
- ModuleNameResult,
- ImportSpecifierResult, ImportSpecifierListResult,
- ExportSpecifierResult, ExportSpecifierListResult
- };
+ ConditionalExpr, AssignmentExpr, TypeofExpr,
+ DeleteExpr, ArrayLiteralExpr };
typedef int ExpressionType;
typedef ExpressionType Expression;
@@ -116,26 +104,16 @@ public:
typedef int PropertyList;
typedef int ElementList;
typedef int ArgumentsList;
- typedef int TemplateExpressionList;
- typedef int TemplateString;
- typedef int TemplateStringList;
- typedef int TemplateLiteral;
typedef int FormalParameterList;
typedef int FunctionBody;
- typedef int ClassExpression;
- typedef int ModuleName;
- typedef int ImportSpecifier;
- typedef int ImportSpecifierList;
- typedef int ExportSpecifier;
- typedef int ExportSpecifierList;
typedef int Statement;
typedef int ClauseList;
typedef int Clause;
+ typedef int ConstDeclList;
typedef int BinaryOperand;
- typedef int DestructuringPattern;
- typedef DestructuringPattern ArrayPattern;
- typedef DestructuringPattern ObjectPattern;
- typedef DestructuringPattern RestPattern;
+ typedef int DeconstructionPattern;
+ typedef int ArrayPattern;
+ typedef int ObjectPattern;
static const bool CreatesAST = false;
static const bool NeedsFreeVariableInfo = false;
@@ -143,10 +121,10 @@ public:
static const unsigned DontBuildKeywords = LexexFlagsDontBuildKeywords;
static const unsigned DontBuildStrings = LexerFlagsDontBuildStrings;
- int createSourceElements() { return SourceElementsResult; }
+ int createSourceElements() { return 1; }
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; }
+ void appendToComma(ExpressionType& base, ExpressionType right) { base = right; }
+ ExpressionType createCommaExpr(const JSTokenLocation&, ExpressionType, ExpressionType right) { return right; }
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; }
@@ -157,16 +135,13 @@ public:
ExpressionType createLogicalNot(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
ExpressionType createUnaryPlus(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
ExpressionType createVoid(const JSTokenLocation&, ExpressionType) { return UnaryExpr; }
- ExpressionType createThisExpr(const JSTokenLocation&, ThisTDZMode) { return ThisExpr; }
- ExpressionType createSuperExpr(const JSTokenLocation&) { return SuperExpr; }
- ExpressionType createNewTargetExpr(const JSTokenLocation&) { return NewTargetExpr; }
- ExpressionType createResolve(const JSTokenLocation&, const Identifier&, int, int) { return ResolveExpr; }
+ ExpressionType thisExpr(const JSTokenLocation&) { return ThisExpr; }
+ 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 createNumberExpr(const JSTokenLocation&, double) { return NumberExpr; }
ExpressionType createString(const JSTokenLocation&, const Identifier*) { return StringExpr; }
ExpressionType createBoolean(const JSTokenLocation&, bool) { return BoolExpr; }
ExpressionType createNull(const JSTokenLocation&) { return NullExpr; }
@@ -176,117 +151,84 @@ public:
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, AssignmentContext) { return AssignmentExpr; }
- ExpressionType createEmptyVarExpression(const JSTokenLocation&, const Identifier&) { return AssignmentExpr; }
- ExpressionType createEmptyLetExpression(const JSTokenLocation&, const Identifier&) { return AssignmentExpr; }
- ExpressionType createYield(const JSTokenLocation&) { return YieldExpr; }
- ExpressionType createYield(const JSTokenLocation&, ExpressionType, bool, int, int, int) { return YieldExpr; }
- ClassExpression createClassExpr(const JSTokenLocation&, const Identifier&, VariableEnvironment&, ExpressionType, ExpressionType, PropertyList, PropertyList) { return ClassExpr; }
- ExpressionType createFunctionExpr(const JSTokenLocation&, const ParserFunctionInfo<SyntaxChecker>&) { return FunctionExpr; }
- int createFunctionMetadata(const JSTokenLocation&, const JSTokenLocation&, int, int, bool, int, int, int, ConstructorKind, SuperBinding, unsigned, SourceParseMode, bool) { return FunctionBodyResult; }
- ExpressionType createArrowFunctionExpr(const JSTokenLocation&, const ParserFunctionInfo<SyntaxChecker>&) { return FunctionExpr; }
+ ExpressionType createAssignResolve(const JSTokenLocation&, const Identifier&, ExpressionType, int, int, int) { return AssignmentExpr; }
+ ExpressionType createFunctionExpr(const JSTokenLocation&, const Identifier*, int, int, int, int, int, int, int) { return FunctionExpr; }
+ int createFunctionBody(const JSTokenLocation&, const JSTokenLocation&, int, int, bool) { return 1; }
void setFunctionNameStart(int, int) { }
- int createArguments() { return ArgumentsResult; }
- int createArguments(int) { return ArgumentsResult; }
- ExpressionType createSpreadExpression(const JSTokenLocation&, ExpressionType, int, int, int) { return SpreadExpr; }
- 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; }
-
- 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)
+ int createArguments() { return 1; }
+ int createArguments(int) { return 1; }
+ ExpressionType createSpreadExpression(const JSTokenLocation&, ExpressionType, int, int, int) { return 1; }
+ int createArgumentsList(const JSTokenLocation&, int) { return 1; }
+ int createArgumentsList(const JSTokenLocation&, int, int) { return 1; }
+ Property createProperty(const Identifier* name, int, PropertyNode::Type type, bool complete)
{
if (!complete)
return Property(type);
ASSERT(name);
return Property(name, type);
}
- Property createProperty(VM* vm, ParserArena& parserArena, double name, int, PropertyNode::Type type, PropertyNode::PutType, bool complete)
+ Property createProperty(VM* vm, double name, int, PropertyNode::Type type, bool complete)
{
if (!complete)
return Property(type);
- return Property(&parserArena.identifierArena().makeNumericIdentifier(vm, name), type);
+ return Property(&vm->parserArena->identifierArena().makeNumericIdentifier(vm, name), type);
}
- Property createProperty(int, int, PropertyNode::Type type, PropertyNode::PutType, bool, SuperBinding = SuperBinding::NotNeeded)
+ Property createProperty(VM*, ExpressionNode*, int, PropertyNode::Type type, bool)
{
return Property(type);
}
- int createPropertyList(const JSTokenLocation&, Property) { return PropertyListResult; }
- int createPropertyList(const JSTokenLocation&, Property, int) { return PropertyListResult; }
- int createElementList(int, int) { return ElementsListResult; }
- int createElementList(int, int, int) { return ElementsListResult; }
- int createElementList(int) { return ElementsListResult; }
- int createFormalParameterList() { return FormalParameterListResult; }
- void appendParameter(int, DestructuringPattern, int) { }
- int createClause(int, int) { return ClauseResult; }
- int createClauseList(int) { return ClauseListResult; }
- int createClauseList(int, int) { return ClauseListResult; }
- int createFuncDeclStatement(const JSTokenLocation&, const ParserFunctionInfo<SyntaxChecker>&) { return StatementResult; }
- int createClassDeclStatement(const JSTokenLocation&, ClassExpression,
- const JSTextPosition&, const JSTextPosition&, int, int) { return StatementResult; }
- int createBlockStatement(const JSTokenLocation&, int, int, int, VariableEnvironment&) { return StatementResult; }
- int createExprStatement(const JSTokenLocation&, int, int, int) { return StatementResult; }
- int createIfStatement(const JSTokenLocation&, int, int, int, int) { return StatementResult; }
- int createIfStatement(const JSTokenLocation&, int, int, int, int, int) { return StatementResult; }
- int createForLoop(const JSTokenLocation&, int, int, int, int, int, int, VariableEnvironment&) { return StatementResult; }
- int createForInLoop(const JSTokenLocation&, int, int, int, int, int, int, int, int, VariableEnvironment&) { return StatementResult; }
- int createForOfLoop(const JSTokenLocation&, int, int, int, int, int, int, int, int, VariableEnvironment&) { return StatementResult; }
- int createEmptyStatement(const JSTokenLocation&) { return StatementResult; }
- int createDeclarationStatement(const JSTokenLocation&, int, int, int) { return StatementResult; }
- int createReturnStatement(const JSTokenLocation&, int, int, int) { return StatementResult; }
- int createBreakStatement(const JSTokenLocation&, int, int) { return StatementResult; }
- int createBreakStatement(const JSTokenLocation&, const Identifier*, int, int) { return StatementResult; }
- int createContinueStatement(const JSTokenLocation&, int, int) { return StatementResult; }
- int createContinueStatement(const JSTokenLocation&, const Identifier*, int, int) { return StatementResult; }
- int createTryStatement(const JSTokenLocation&, int, int, int, int, int, int, VariableEnvironment&) { return StatementResult; }
- int createSwitchStatement(const JSTokenLocation&, int, int, int, int, int, int, VariableEnvironment&) { return StatementResult; }
- int createWhileStatement(const JSTokenLocation&, int, int, int, int) { return StatementResult; }
- int createWithStatement(const JSTokenLocation&, int, int, int, int, int, int) { return StatementResult; }
- int createDoWhileStatement(const JSTokenLocation&, int, int, int, int) { return StatementResult; }
- int createLabelStatement(const JSTokenLocation&, const Identifier*, int, int, int) { return StatementResult; }
- int createThrowStatement(const JSTokenLocation&, int, int, int) { return StatementResult; }
- int createDebugger(const JSTokenLocation&, int, int) { return StatementResult; }
- int createConstStatement(const JSTokenLocation&, int, int, int) { return StatementResult; }
- int createModuleName(const JSTokenLocation&, const Identifier&) { return ModuleNameResult; }
- ImportSpecifier createImportSpecifier(const JSTokenLocation&, const Identifier&, const Identifier&) { return ImportSpecifierResult; }
- ImportSpecifierList createImportSpecifierList() { return ImportSpecifierListResult; }
- void appendImportSpecifier(ImportSpecifierList, ImportSpecifier) { }
- int createImportDeclaration(const JSTokenLocation&, ImportSpecifierList, ModuleName) { return StatementResult; }
- int createExportAllDeclaration(const JSTokenLocation&, ModuleName) { return StatementResult; }
- int createExportDefaultDeclaration(const JSTokenLocation&, int, const Identifier&) { return StatementResult; }
- int createExportLocalDeclaration(const JSTokenLocation&, int) { return StatementResult; }
- int createExportNamedDeclaration(const JSTokenLocation&, ExportSpecifierList, ModuleName) { return StatementResult; }
- ExportSpecifier createExportSpecifier(const JSTokenLocation&, const Identifier&, const Identifier&) { return ExportSpecifierResult; }
- ExportSpecifierList createExportSpecifierList() { return ExportSpecifierListResult; }
- void appendExportSpecifier(ExportSpecifierList, ExportSpecifier) { }
-
- int appendConstDecl(const JSTokenLocation&, int, const Identifier*, int) { return StatementResult; }
- Property createGetterOrSetterProperty(const JSTokenLocation&, PropertyNode::Type type, bool strict, const Identifier* name, const ParserFunctionInfo<SyntaxChecker>&, SuperBinding)
+ int createPropertyList(const JSTokenLocation&, Property) { return 1; }
+ int createPropertyList(const JSTokenLocation&, Property, int) { return 1; }
+ int createElementList(int, int) { return 1; }
+ int createElementList(int, int, int) { return 1; }
+ int createFormalParameterList(DeconstructionPattern) { return 1; }
+ int createFormalParameterList(int, DeconstructionPattern) { return 1; }
+ int createClause(int, int) { return 1; }
+ int createClauseList(int) { return 1; }
+ int createClauseList(int, int) { return 1; }
+ void setUsesArguments(int) { }
+ int createFuncDeclStatement(const JSTokenLocation&, const Identifier*, int, int, int, int, int, int, int) { return 1; }
+ int createBlockStatement(const JSTokenLocation&, int, int, int) { return 1; }
+ int createExprStatement(const JSTokenLocation&, int, int, int) { return 1; }
+ int createIfStatement(const JSTokenLocation&, int, int, int, int) { return 1; }
+ int createIfStatement(const JSTokenLocation&, int, int, int, int, int) { return 1; }
+ int createForLoop(const JSTokenLocation&, int, int, int, int, int, int) { return 1; }
+ int createForInLoop(const JSTokenLocation&, int, int, int, int, int, int, int, int) { return 1; }
+ int createForOfLoop(const JSTokenLocation&, int, int, int, int, int, int, int, int) { return 1; }
+ int createEmptyStatement(const JSTokenLocation&) { return 1; }
+ int createVarStatement(const JSTokenLocation&, int, int, int) { return 1; }
+ int createReturnStatement(const JSTokenLocation&, int, int, int) { return 1; }
+ int createBreakStatement(const JSTokenLocation&, int, int) { return 1; }
+ int createBreakStatement(const JSTokenLocation&, const Identifier*, int, int) { return 1; }
+ int createContinueStatement(const JSTokenLocation&, int, int) { return 1; }
+ int createContinueStatement(const JSTokenLocation&, const Identifier*, int, int) { return 1; }
+ int createTryStatement(const JSTokenLocation&, int, const Identifier*, int, int, int, int) { return 1; }
+ int createSwitchStatement(const JSTokenLocation&, int, int, int, int, int, int) { return 1; }
+ int createWhileStatement(const JSTokenLocation&, int, int, int, int) { return 1; }
+ int createWithStatement(const JSTokenLocation&, int, int, int, int, int, int) { return 1; }
+ int createDoWhileStatement(const JSTokenLocation&, int, int, int, int) { return 1; }
+ int createLabelStatement(const JSTokenLocation&, const Identifier*, int, int, int) { return 1; }
+ int createThrowStatement(const JSTokenLocation&, int, int, int) { return 1; }
+ int createDebugger(const JSTokenLocation&, int, int) { return 1; }
+ int createConstStatement(const JSTokenLocation&, int, int, int) { return 1; }
+ int appendConstDecl(const JSTokenLocation&, int, const Identifier*, int) { return 1; }
+ Property createGetterOrSetterProperty(const JSTokenLocation&, PropertyNode::Type type, bool strict, const Identifier* name, int, int, int, int, int, int, int)
{
ASSERT(name);
if (!strict)
return Property(type);
return Property(name, type);
}
- Property createGetterOrSetterProperty(const JSTokenLocation&, PropertyNode::Type type, bool, int, const ParserFunctionInfo<SyntaxChecker>&, SuperBinding)
- {
- return Property(type);
- }
- Property createGetterOrSetterProperty(VM* vm, ParserArena& parserArena, const JSTokenLocation&, PropertyNode::Type type, bool strict, double name, const ParserFunctionInfo<SyntaxChecker>&, SuperBinding)
+ Property createGetterOrSetterProperty(VM* vm, const JSTokenLocation&, PropertyNode::Type type, bool strict, double name, int, int, int, int, int, int, int)
{
if (!strict)
return Property(type);
- return Property(&parserArena.identifierArena().makeNumericIdentifier(vm, name), type);
+ return Property(&vm->parserArena->identifierArena().makeNumericIdentifier(vm, name), type);
}
void appendStatement(int, int) { }
- int combineCommaNodes(const JSTokenLocation&, int, int) { return CommaExpr; }
+ void addVar(const Identifier*, bool) { }
+ int combineCommaNodes(const JSTokenLocation&, int, int) { return 1; }
int evalCount() const { return 0; }
void appendBinaryExpressionInfo(int& operandStackDepth, int expr, int, int, int, bool)
{
@@ -312,86 +254,36 @@ public:
void unaryTokenStackRemoveLast(int& stackDepth) { stackDepth = 0; }
void assignmentStackAppend(int, int, int, int, int, Operator) { }
- int createAssignment(const JSTokenLocation&, int, int, int, int, int) { RELEASE_ASSERT_NOT_REACHED(); return AssignmentExpr; }
- const Identifier* getName(const Property& property) const { return property.name; }
+ int createAssignment(const JSTokenLocation&, int, int, int, int, int) { RELEASE_ASSERT_NOT_REACHED(); return 1; }
+ const Identifier* getName(const Property& property) const { ASSERT(property.name); return property.name; }
PropertyNode::Type getType(const Property& property) const { return property.type; }
bool isResolve(ExpressionType expr) const { return expr == ResolveExpr || expr == ResolveEvalExpr; }
- ExpressionType createDestructuringAssignment(const JSTokenLocation&, int, ExpressionType)
+ ExpressionType createDeconstructingAssignment(const JSTokenLocation&, int, ExpressionType)
{
- return DestructuringAssignment;
+ return 1;
}
ArrayPattern createArrayPattern(const JSTokenLocation&)
{
- return ArrayDestructuring;
+ return 1;
}
void appendArrayPatternSkipEntry(ArrayPattern, const JSTokenLocation&)
{
}
- void appendArrayPatternEntry(ArrayPattern, const JSTokenLocation&, DestructuringPattern, int)
- {
- }
- void appendArrayPatternRestEntry(ArrayPattern, const JSTokenLocation&, DestructuringPattern)
- {
- }
- void finishArrayPattern(ArrayPattern, const JSTextPosition&, const JSTextPosition&, const JSTextPosition&)
+ void appendArrayPatternEntry(ArrayPattern, const JSTokenLocation&, DeconstructionPattern)
{
}
ObjectPattern createObjectPattern(const JSTokenLocation&)
{
- return ObjectDestructuring;
- }
- void appendObjectPatternEntry(ArrayPattern, const JSTokenLocation&, bool, const Identifier&, DestructuringPattern, int)
- {
- }
- void appendObjectPatternEntry(ArrayPattern, const JSTokenLocation&, Expression, DestructuringPattern, Expression)
- {
- }
-
- DestructuringPattern createBindingLocation(const JSTokenLocation&, const Identifier&, const JSTextPosition&, const JSTextPosition&, AssignmentContext)
- {
- return BindingDestructuring;
+ return 1;
}
- RestPattern createRestParameter(const Identifier&, size_t, const JSTextPosition&, const JSTextPosition&)
- {
- return RestParameter;
- }
- DestructuringPattern createAssignmentElement(const Expression&, const JSTextPosition&, const JSTextPosition&)
+ void appendObjectPatternEntry(ArrayPattern, const JSTokenLocation&, bool, const Identifier&, DeconstructionPattern)
{
- return BindingDestructuring;
}
-
- bool isBindingNode(DestructuringPattern pattern)
- {
- return pattern == BindingDestructuring;
- }
-
- bool isAssignmentLocation(ExpressionType type)
+ DeconstructionPattern createBindingLocation(const JSTokenLocation&, const Identifier&, const JSTextPosition&, const JSTextPosition&)
{
- return type == ResolveExpr || type == DotExpr || type == BracketExpr;
+ return 1;
}
-
- bool isObjectLiteral(ExpressionType type)
- {
- return type == ObjectLiteralExpr;
- }
-
- bool isArrayLiteral(ExpressionType type)
- {
- return type == ArrayLiteralExpr;
- }
-
- bool isObjectOrArrayLiteral(ExpressionType type)
- {
- return isObjectLiteral(type) || isArrayLiteral(type);
- }
-
- void setEndOffset(int, int) { }
- int endOffset(int) { return 0; }
- void setStartOffset(int, int) { }
-
- void propagateArgumentsUse() { }
-
private:
int m_topBinaryExpr;
int m_topUnaryToken;