|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectoscript.interpreter.EvaluateVisitor
The EvaluateVisitor is the heart of the interpreter.
Field Summary |
Constructor Summary | |
EvaluateVisitor(Scope thisScope)
Class Constructor. |
Method Summary | |
Value |
evaluateFunction(Program n)
|
NodeToken |
getLastNodeToken()
|
java.lang.Object |
visit(AdditiveExpression n,
java.lang.Object argu)
f0 -> MultiplicativeExpression() f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )* |
java.lang.Object |
visit(AllocationExpression n,
java.lang.Object argu)
f0 -> "new" f1 -> PrimaryExpressionWithTrailingFxnCallExpList() f2 -> FunctionCallExpressionList() |
java.lang.Object |
visit(Arglist n,
java.lang.Object argu)
f0 -> Permissions() f1 -> <IDENTIFIER> f2 -> ( "," Permissions() <IDENTIFIER> )* f3 -> ( "..." )? |
java.lang.Object |
visit(ArrayDeclarationPrimaryPrefix n,
java.lang.Object argu)
f0 -> "[" f1 -> (FunctionCallExpressionListBody())? f2 -> "]" |
java.lang.Object |
visit(ArraySubscriptPrimaryPostfix n,
java.lang.Object argu)
f0 -> "[" f1 -> Expression() f2 -> ( ".." Expression() )? f3 -> "]" |
java.lang.Object |
visit(AssignmentExpression n,
java.lang.Object argu)
f0 -> ConditionalExpression() f1 -> ( ( "=" | "+=" | "-=" | "*=" | "/=" | "%=" | ">>=" | "<<=" | ">>>=" | "&=" | "^=" | "|=" ) ConditionalExpression() )* |
java.lang.Object |
visit(BitwiseAndExpression n,
java.lang.Object argu)
f0 -> EqualityExpression() f1 -> ( "&" EqualityExpression() )* |
java.lang.Object |
visit(BitwiseOrExpression n,
java.lang.Object argu)
f0 -> BitwiseXorExpression() f1 -> ( "|" BitwiseXorExpression() )* |
java.lang.Object |
visit(BitwiseXorExpression n,
java.lang.Object argu)
f0 -> BitwiseAndExpression() f1 -> ( "^" BitwiseAndExpression() )* |
java.lang.Object |
visit(BreakStatement n,
java.lang.Object argu)
f0 -> "break" f1 -> ";" |
java.lang.Object |
visit(CalleePrimaryPrefix n,
java.lang.Object argu)
f0 -> "callee" |
java.lang.Object |
visit(CastExpression n,
java.lang.Object argu)
f0 -> "(" f1 -> PrimaryExpressionNotFunction() f2 -> ")" f3 -> PrimaryExpression() |
java.lang.Object |
visit(CollectionForLoopStatement n,
java.lang.Object argu)
f0 -> "for" f1 -> "(" f2 -> PreLoopStatement() f3 -> ":" f4 -> Expression() f5 -> ")" f6 -> EvaluationUnit() |
java.lang.Object |
visit(ConditionalExpression n,
java.lang.Object argu)
f0 -> LogicalOrExpression() f1 -> ( "?" LogicalOrExpression() ":" LogicalOrExpression() )? |
java.lang.Object |
visit(ConditionalStatement n,
java.lang.Object argu)
f0 -> "if" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> EvaluationUnit() f5 -> ( "else" EvaluationUnit() )? |
java.lang.Object |
visit(ContinueStatement n,
java.lang.Object argu)
f0 -> "continue" f1 -> ";" |
java.lang.Object |
visit(EqualityExpression n,
java.lang.Object argu)
f0 -> RelationalExpression() f1 -> ( ( "==" | "!=" ) RelationalExpression() )* |
java.lang.Object |
visit(EvalBlock n,
java.lang.Object argu)
f0 -> "eval" f1 -> Expression() f2 -> ";" |
java.lang.Object |
visit(EvaluationUnit n,
java.lang.Object argu)
f0 -> ScopeBlock() | VariableDeclarationBlock() | FunctionDeclaration() | TryStatement() | ForLoopStatement() | WhileLoopStatement() | ConditionalStatement() | SynchronizedStatement() | ReturnStatement() | BreakStatement() | ContinueStatement() | ExpressionBlock() | ThrowBlock() | ImportBlock() | MixinBlock() | EvalBlock() |
java.lang.Object |
visit(ExpressionBlock n,
java.lang.Object argu)
f0 -> Expression() f1 -> ";" |
java.lang.Object |
visit(Expression n,
java.lang.Object argu)
f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )* |
java.lang.Object |
visit(ForLoopStatement n,
java.lang.Object argu)
f0 -> "for" f1 -> "(" f2 -> ( PreLoopStatement() )? f3 -> ";" f4 -> ( Expression() )? f5 -> ";" f6 -> ( Expression() )? f7 -> ")" f8 -> EvaluationUnit() |
java.lang.Object |
visit(FunctionCallExpressionListBody n,
java.lang.Object argu)
f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )* |
java.lang.Object |
visit(FunctionCallExpressionList n,
java.lang.Object argu)
f0 -> "(" f1 -> ( FunctionCallExpressionListBody() )? f2 -> ")" |
java.lang.Object |
visit(FunctionCallPrimaryPostfix n,
java.lang.Object argu)
f0 -> FunctionCallExpressionList() |
java.lang.Object |
visit(FunctionDeclaration n,
java.lang.Object argu)
f0 -> Permissions() f1 -> "function" f2 -> <IDENTIFIER> f3 -> "(" f4 -> ( Arglist() )? f5 -> ")" f6 -> ( "extends" PrimaryExpressionWithTrailingFxnCallExpList() FunctionCallExpressionList() )? f7 -> "{" f8 -> Program() f9 -> "}" |
java.lang.Object |
visit(FunctionPrimaryPrefix n,
java.lang.Object argu)
f0 -> "function" f1 -> "(" f2 -> ( Arglist() )? f3 -> ")" f4 -> ( "extends" PrimaryExpressionWithTrailingFxnCallExpList() FunctionCallExpressionList() )? f5 -> "{" f6 -> Program() f7 -> "}" |
java.lang.Object |
visit(IdentifierPrimaryPrefix n,
java.lang.Object argu)
f0 -> <IDENTIFIER> |
java.lang.Object |
visit(ImportBlock n,
java.lang.Object argu)
f0 -> "import" f1 -> Expression() f2 -> ";" |
java.lang.Object |
visit(Literal n,
java.lang.Object argu)
f0 -> <INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> | <STRING_LITERAL> | <REGEXP_LITERAL> | "true" | "false" | "null" | "undefined" |
java.lang.Object |
visit(LogicalAndExpression n,
java.lang.Object argu)
f0 -> BitwiseOrExpression() f1 -> ( "&&" BitwiseOrExpression() )* |
java.lang.Object |
visit(LogicalOrExpression n,
java.lang.Object argu)
f0 -> LogicalAndExpression() f1 -> ( "||" LogicalAndExpression() )* |
java.lang.Object |
visit(MixinBlock n,
java.lang.Object argu)
f0 -> "mixin" f1 -> Expression() f2 -> ";" |
java.lang.Object |
visit(MultiplicativeExpression n,
java.lang.Object argu)
f0 -> UnaryExpression() f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )* |
java.lang.Object |
visit(NodeList n,
java.lang.Object argu)
|
java.lang.Object |
visit(NodeListOptional n,
java.lang.Object argu)
|
java.lang.Object |
visit(NodeOptional n,
java.lang.Object argu)
|
java.lang.Object |
visit(NodeSequence n,
java.lang.Object argu)
|
java.lang.Object |
visit(NodeToken n,
java.lang.Object argu)
|
java.lang.Object |
visit(ParenPrimaryPrefix n,
java.lang.Object argu)
f0 -> "(" f1 -> Expression() f2 -> ")" |
java.lang.Object |
visit(Permissions n,
java.lang.Object argu)
f0 -> ( "static" | "const" | "private" | "protected" | "public" )* |
java.lang.Object |
visit(PostfixExpression n,
java.lang.Object argu)
f0 -> TypeExpression() f1 -> ( "++" | "--" )? |
java.lang.Object |
visit(PreLoopStatement n,
java.lang.Object argu)
f0 -> VariableDeclaration() | Expression() |
java.lang.Object |
visit(PrimaryExpressionNotFunction n,
java.lang.Object argu)
f0 -> PrimaryPrefix() f1 -> ( PrimaryPostfix() )* |
java.lang.Object |
visit(PrimaryExpression n,
java.lang.Object argu)
f0 -> PrimaryPrefix() f1 -> ( PrimaryPostfix() )* |
java.lang.Object |
visit(PrimaryExpressionWithTrailingFxnCallExpList n,
java.lang.Object argu)
f0 -> PrimaryPrefix() f1 -> ( PrimaryPostfixWithTrailingFxnCallExpList() )* |
java.lang.Object |
visit(PrimaryPostfix n,
java.lang.Object argu)
f0 -> FunctionCallPrimaryPostfix() | ArraySubscriptPrimaryPostfix() | PropertyIdentifierPrimaryPostfix() |
java.lang.Object |
visit(PrimaryPostfixWithTrailingFxnCallExpList n,
java.lang.Object argu)
f0 -> FunctionCallPrimaryPostfix() | ArraySubscriptPrimaryPostfix() | PropertyIdentifierPrimaryPostfix() |
java.lang.Object |
visit(PrimaryPrefixNotFunction n,
java.lang.Object argu)
f0 -> ThisPrimaryPrefix() | CalleePrimaryPrefix() | IdentifierPrimaryPrefix() | ParenPrimaryPrefix() | ArrayDeclarationPrimaryPrefix() | Literal() |
java.lang.Object |
visit(PrimaryPrefix n,
java.lang.Object argu)
f0 -> PrimaryPrefixNotFunction() | FunctionPrimaryPrefix() | ShorthandFunctionPrimaryPrefix() |
java.lang.Object |
visit(ProgramFile n,
java.lang.Object argu)
f0 -> ( <UNIX_SELF_EXECUTABLE_COMMENT> )? f1 -> Program(false) f2 -> <EOF> |
java.lang.Object |
visit(Program n,
java.lang.Object argu)
f0 -> ( EvaluationUnit() )* |
java.lang.Object |
visit(PropertyIdentifierPrimaryPostfix n,
java.lang.Object argu)
f0 -> "." f1 -> <IDENTIFIER> |
java.lang.Object |
visit(RelationalExpression n,
java.lang.Object argu)
f0 -> ShiftExpression() f1 -> ( ( "<" | ">" | ">=" | "<=" | "instanceof" ) ShiftExpression() )* |
java.lang.Object |
visit(ReturnStatement n,
java.lang.Object argu)
f0 -> "return" f1 -> ( Expression() )? |
java.lang.Object |
visit(ScopeBlock n,
java.lang.Object argu)
f0 -> "{" f1 -> Program() f2 -> "}" |
java.lang.Object |
visit(ShiftExpression n,
java.lang.Object argu)
f0 -> AdditiveExpression() f1 -> ( ( "<<" | ">>" | ">>>" ) AdditiveExpression() )* |
java.lang.Object |
visit(ShorthandFunctionPrimaryPrefix n,
java.lang.Object argu)
f0 -> "'{" f1 -> Program(true) f2 -> "}" |
java.lang.Object |
visit(SynchronizedStatement n,
java.lang.Object argu)
f0 -> "synchronized" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> EvaluationUnit() |
java.lang.Object |
visit(ThisPrimaryPrefix n,
java.lang.Object argu)
f0 -> "this" |
java.lang.Object |
visit(ThrowBlock n,
java.lang.Object argu)
f0 -> "throw" f1 -> Expression() f2 -> ";" |
java.lang.Object |
visit(TryStatement n,
java.lang.Object argu)
f0 -> "try" f1 -> EvaluationUnit() f2 -> ( "catch" "(" Expression() <IDENTIFIER> ")" EvaluationUnit() )* f3 -> ( "catch" "(" <IDENTIFIER> ")" EvaluationUnit() )? f4 -> ( "finally" EvaluationUnit() )? |
java.lang.Object |
visit(TypeExpression n,
java.lang.Object argu)
f0 -> AllocationExpression() | CastExpression() | PrimaryExpression() |
java.lang.Object |
visit(UnaryExpression n,
java.lang.Object argu)
f0 -> ( ( "++" | "--" | "+" | "-" | "~" | "!" ) )? f1 -> PostfixExpression() |
java.lang.Object |
visit(VariableDeclarationBlock n,
java.lang.Object argu)
f0 -> VariableDeclaration() f1 -> ";" |
java.lang.Object |
visit(VariableDeclaration n,
java.lang.Object argu)
f0 -> Permissions() f1 -> "var" f2 -> <IDENTIFIER> f3 -> ( "=" Expression() )? |
java.lang.Object |
visit(WhileLoopStatement n,
java.lang.Object argu)
f0 -> "while" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> EvaluationUnit() |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public EvaluateVisitor(Scope thisScope)
EvaluateVisitor
is constructed
to evaluate within a specified context (scope). The context' purpose
is twofold: 1) it is used to implement block structure, for example:
... some script ... { var someVar; ... some script ... }the block containing the variable
someVar
is evaluated
in a new context (with the current context as the previous context).
It is also used for 2) implementing function/method calls. When a function/method is called, a new context is created, with the context the function/method was declared in as the previous context.
NOTE: there are cases where we re-use the EvaluateVisitor
for efficiency... need to document that better.
thisScope
- the context to evaluate withinMethod Detail |
public NodeToken getLastNodeToken()
public Value evaluateFunction(Program n)
public java.lang.Object visit(NodeList n, java.lang.Object argu)
visit
in interface ObjectVisitor
public java.lang.Object visit(NodeListOptional n, java.lang.Object argu)
visit
in interface ObjectVisitor
public java.lang.Object visit(NodeOptional n, java.lang.Object argu)
visit
in interface ObjectVisitor
public java.lang.Object visit(NodeSequence n, java.lang.Object argu)
visit
in interface ObjectVisitor
public java.lang.Object visit(NodeToken n, java.lang.Object argu)
visit
in interface ObjectVisitor
public java.lang.Object visit(ProgramFile n, java.lang.Object argu)
f0 -> ( <UNIX_SELF_EXECUTABLE_COMMENT> )? f1 -> Program(false) f2 -> <EOF>
visit
in interface ObjectVisitor
public java.lang.Object visit(Program n, java.lang.Object argu)
f0 -> ( EvaluationUnit() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(EvaluationUnit n, java.lang.Object argu)
f0 -> ScopeBlock() | VariableDeclarationBlock() | FunctionDeclaration() | TryStatement() | ForLoopStatement() | WhileLoopStatement() | ConditionalStatement() | SynchronizedStatement() | ReturnStatement() | BreakStatement() | ContinueStatement() | ExpressionBlock() | ThrowBlock() | ImportBlock() | MixinBlock() | EvalBlock()
visit
in interface ObjectVisitor
public java.lang.Object visit(ScopeBlock n, java.lang.Object argu)
f0 -> "{" f1 -> Program() f2 -> "}"
visit
in interface ObjectVisitor
public java.lang.Object visit(VariableDeclarationBlock n, java.lang.Object argu)
f0 -> VariableDeclaration() f1 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(ExpressionBlock n, java.lang.Object argu)
f0 -> Expression() f1 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(ThrowBlock n, java.lang.Object argu)
f0 -> "throw" f1 -> Expression() f2 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(ImportBlock n, java.lang.Object argu)
f0 -> "import" f1 -> Expression() f2 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(MixinBlock n, java.lang.Object argu)
f0 -> "mixin" f1 -> Expression() f2 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(EvalBlock n, java.lang.Object argu)
f0 -> "eval" f1 -> Expression() f2 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(VariableDeclaration n, java.lang.Object argu)
f0 -> Permissions() f1 -> "var" f2 -> <IDENTIFIER> f3 -> ( "=" Expression() )?
visit
in interface ObjectVisitor
public java.lang.Object visit(FunctionDeclaration n, java.lang.Object argu)
f0 -> Permissions() f1 -> "function" f2 -> <IDENTIFIER> f3 -> "(" f4 -> ( Arglist() )? f5 -> ")" f6 -> ( "extends" PrimaryExpressionWithTrailingFxnCallExpList() FunctionCallExpressionList() )? f7 -> "{" f8 -> Program() f9 -> "}"
visit
in interface ObjectVisitor
public java.lang.Object visit(Arglist n, java.lang.Object argu)
f0 -> Permissions() f1 -> <IDENTIFIER> f2 -> ( "," Permissions() <IDENTIFIER> )* f3 -> ( "..." )?
visit
in interface ObjectVisitor
public java.lang.Object visit(TryStatement n, java.lang.Object argu)
f0 -> "try" f1 -> EvaluationUnit() f2 -> ( "catch" "(" Expression() <IDENTIFIER> ")" EvaluationUnit() )* f3 -> ( "catch" "(" <IDENTIFIER> ")" EvaluationUnit() )? f4 -> ( "finally" EvaluationUnit() )?
visit
in interface ObjectVisitor
public java.lang.Object visit(ForLoopStatement n, java.lang.Object argu)
f0 -> "for" f1 -> "(" f2 -> ( PreLoopStatement() )? f3 -> ";" f4 -> ( Expression() )? f5 -> ";" f6 -> ( Expression() )? f7 -> ")" f8 -> EvaluationUnit()
visit
in interface ObjectVisitor
public java.lang.Object visit(CollectionForLoopStatement n, java.lang.Object argu)
f0 -> "for" f1 -> "(" f2 -> PreLoopStatement() f3 -> ":" f4 -> Expression() f5 -> ")" f6 -> EvaluationUnit()
visit
in interface ObjectVisitor
public java.lang.Object visit(PreLoopStatement n, java.lang.Object argu)
f0 -> VariableDeclaration() | Expression()
visit
in interface ObjectVisitor
public java.lang.Object visit(WhileLoopStatement n, java.lang.Object argu)
f0 -> "while" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> EvaluationUnit()
visit
in interface ObjectVisitor
public java.lang.Object visit(ConditionalStatement n, java.lang.Object argu)
f0 -> "if" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> EvaluationUnit() f5 -> ( "else" EvaluationUnit() )?
visit
in interface ObjectVisitor
public java.lang.Object visit(SynchronizedStatement n, java.lang.Object argu)
f0 -> "synchronized" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> EvaluationUnit()
visit
in interface ObjectVisitor
public java.lang.Object visit(ReturnStatement n, java.lang.Object argu)
f0 -> "return" f1 -> ( Expression() )?
visit
in interface ObjectVisitor
public java.lang.Object visit(BreakStatement n, java.lang.Object argu)
f0 -> "break" f1 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(ContinueStatement n, java.lang.Object argu)
f0 -> "continue" f1 -> ";"
visit
in interface ObjectVisitor
public java.lang.Object visit(Expression n, java.lang.Object argu)
f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(FunctionCallExpressionList n, java.lang.Object argu)
f0 -> "(" f1 -> ( FunctionCallExpressionListBody() )? f2 -> ")"
visit
in interface ObjectVisitor
public java.lang.Object visit(FunctionCallExpressionListBody n, java.lang.Object argu)
f0 -> AssignmentExpression() f1 -> ( "," AssignmentExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(AssignmentExpression n, java.lang.Object argu)
f0 -> ConditionalExpression() f1 -> ( ( "=" | "+=" | "-=" | "*=" | "/=" | "%=" | ">>=" | "<<=" | ">>>=" | "&=" | "^=" | "|=" ) ConditionalExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(ConditionalExpression n, java.lang.Object argu)
f0 -> LogicalOrExpression() f1 -> ( "?" LogicalOrExpression() ":" LogicalOrExpression() )?
visit
in interface ObjectVisitor
public java.lang.Object visit(LogicalOrExpression n, java.lang.Object argu)
f0 -> LogicalAndExpression() f1 -> ( "||" LogicalAndExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(LogicalAndExpression n, java.lang.Object argu)
f0 -> BitwiseOrExpression() f1 -> ( "&&" BitwiseOrExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(BitwiseOrExpression n, java.lang.Object argu)
f0 -> BitwiseXorExpression() f1 -> ( "|" BitwiseXorExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(BitwiseXorExpression n, java.lang.Object argu)
f0 -> BitwiseAndExpression() f1 -> ( "^" BitwiseAndExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(BitwiseAndExpression n, java.lang.Object argu)
f0 -> EqualityExpression() f1 -> ( "&" EqualityExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(EqualityExpression n, java.lang.Object argu)
f0 -> RelationalExpression() f1 -> ( ( "==" | "!=" ) RelationalExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(RelationalExpression n, java.lang.Object argu)
f0 -> ShiftExpression() f1 -> ( ( "<" | ">" | ">=" | "<=" | "instanceof" ) ShiftExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(ShiftExpression n, java.lang.Object argu)
f0 -> AdditiveExpression() f1 -> ( ( "<<" | ">>" | ">>>" ) AdditiveExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(AdditiveExpression n, java.lang.Object argu)
f0 -> MultiplicativeExpression() f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(MultiplicativeExpression n, java.lang.Object argu)
f0 -> UnaryExpression() f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(UnaryExpression n, java.lang.Object argu)
f0 -> ( ( "++" | "--" | "+" | "-" | "~" | "!" ) )? f1 -> PostfixExpression()
visit
in interface ObjectVisitor
public java.lang.Object visit(PostfixExpression n, java.lang.Object argu)
f0 -> TypeExpression() f1 -> ( "++" | "--" )?
visit
in interface ObjectVisitor
public java.lang.Object visit(TypeExpression n, java.lang.Object argu)
f0 -> AllocationExpression() | CastExpression() | PrimaryExpression()
visit
in interface ObjectVisitor
public java.lang.Object visit(AllocationExpression n, java.lang.Object argu)
f0 -> "new" f1 -> PrimaryExpressionWithTrailingFxnCallExpList() f2 -> FunctionCallExpressionList()
visit
in interface ObjectVisitor
public java.lang.Object visit(CastExpression n, java.lang.Object argu)
f0 -> "(" f1 -> PrimaryExpressionNotFunction() f2 -> ")" f3 -> PrimaryExpression()
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryExpression n, java.lang.Object argu)
f0 -> PrimaryPrefix() f1 -> ( PrimaryPostfix() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryExpressionNotFunction n, java.lang.Object argu)
f0 -> PrimaryPrefix() f1 -> ( PrimaryPostfix() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryExpressionWithTrailingFxnCallExpList n, java.lang.Object argu)
f0 -> PrimaryPrefix() f1 -> ( PrimaryPostfixWithTrailingFxnCallExpList() )*
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryPrefix n, java.lang.Object argu)
f0 -> PrimaryPrefixNotFunction() | FunctionPrimaryPrefix() | ShorthandFunctionPrimaryPrefix()
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryPrefixNotFunction n, java.lang.Object argu)
f0 -> ThisPrimaryPrefix() | CalleePrimaryPrefix() | IdentifierPrimaryPrefix() | ParenPrimaryPrefix() | ArrayDeclarationPrimaryPrefix() | Literal()
visit
in interface ObjectVisitor
public java.lang.Object visit(ThisPrimaryPrefix n, java.lang.Object argu)
f0 -> "this"
visit
in interface ObjectVisitor
public java.lang.Object visit(CalleePrimaryPrefix n, java.lang.Object argu)
f0 -> "callee"
visit
in interface ObjectVisitor
public java.lang.Object visit(IdentifierPrimaryPrefix n, java.lang.Object argu)
f0 -> <IDENTIFIER>
visit
in interface ObjectVisitor
public java.lang.Object visit(ParenPrimaryPrefix n, java.lang.Object argu)
f0 -> "(" f1 -> Expression() f2 -> ")"
visit
in interface ObjectVisitor
public java.lang.Object visit(FunctionPrimaryPrefix n, java.lang.Object argu)
f0 -> "function" f1 -> "(" f2 -> ( Arglist() )? f3 -> ")" f4 -> ( "extends" PrimaryExpressionWithTrailingFxnCallExpList() FunctionCallExpressionList() )? f5 -> "{" f6 -> Program() f7 -> "}"
visit
in interface ObjectVisitor
public java.lang.Object visit(ShorthandFunctionPrimaryPrefix n, java.lang.Object argu)
f0 -> "'{" f1 -> Program(true) f2 -> "}"
visit
in interface ObjectVisitor
public java.lang.Object visit(ArrayDeclarationPrimaryPrefix n, java.lang.Object argu)
f0 -> "[" f1 -> (FunctionCallExpressionListBody())? f2 -> "]"
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryPostfix n, java.lang.Object argu)
f0 -> FunctionCallPrimaryPostfix() | ArraySubscriptPrimaryPostfix() | PropertyIdentifierPrimaryPostfix()
visit
in interface ObjectVisitor
public java.lang.Object visit(PrimaryPostfixWithTrailingFxnCallExpList n, java.lang.Object argu)
f0 -> FunctionCallPrimaryPostfix() | ArraySubscriptPrimaryPostfix() | PropertyIdentifierPrimaryPostfix()
visit
in interface ObjectVisitor
public java.lang.Object visit(FunctionCallPrimaryPostfix n, java.lang.Object argu)
f0 -> FunctionCallExpressionList()
visit
in interface ObjectVisitor
public java.lang.Object visit(ArraySubscriptPrimaryPostfix n, java.lang.Object argu)
f0 -> "[" f1 -> Expression() f2 -> ( ".." Expression() )? f3 -> "]"
visit
in interface ObjectVisitor
public java.lang.Object visit(PropertyIdentifierPrimaryPostfix n, java.lang.Object argu)
f0 -> "." f1 -> <IDENTIFIER>
visit
in interface ObjectVisitor
public java.lang.Object visit(Literal n, java.lang.Object argu)
f0 -> <INTEGER_LITERAL> | <FLOATING_POINT_LITERAL> | <STRING_LITERAL> | <REGEXP_LITERAL> | "true" | "false" | "null" | "undefined"
visit
in interface ObjectVisitor
public java.lang.Object visit(Permissions n, java.lang.Object argu)
f0 -> ( "static" | "const" | "private" | "protected" | "public" )*
visit
in interface ObjectVisitor
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |