jtb.visitor
Interface GJVoidVisitor<A>

All Known Implementing Classes:
GJVoidDepthFirst

public interface GJVoidVisitor<A>

All GJ void visitors must implement this interface.


Method Summary
 void visit(AdditiveExpression n, A argu)
          f0 -> MultiplicativeExpression() f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*
 void visit(AllocationExpression n, A argu)
          f0 -> "new" PrimitiveType() ArrayDimsAndInits() | "new" ClassOrInterfaceType() [ TypeArguments() ] ( ArrayDimsAndInits() | Arguments() [ ClassOrInterfaceBody(false) ] )
 void visit(AndExpression n, A argu)
          f0 -> EqualityExpression() f1 -> ( "&" EqualityExpression() )*
 void visit(Annotation n, A argu)
          f0 -> NormalAnnotation() | SingleMemberAnnotation() | MarkerAnnotation()
 void visit(AnnotationTypeBody n, A argu)
          f0 -> "{" f1 -> ( AnnotationTypeMemberDeclaration() )* f2 -> "}"
 void visit(AnnotationTypeDeclaration n, A argu)
          f0 -> "@" f1 -> "interface" f2 -> f3 -> AnnotationTypeBody()
 void visit(AnnotationTypeMemberDeclaration n, A argu)
          f0 -> Modifiers() ( Type() "(" ")" [ DefaultValue() ] ";" | ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) | FieldDeclaration(modifiers) ) | ( ";" )
 void visit(ArgumentList n, A argu)
          f0 -> Expression() f1 -> ( "," Expression() )*
 void visit(Arguments n, A argu)
          f0 -> "(" f1 -> [ ArgumentList() ] f2 -> ")"
 void visit(ArrayDimsAndInits n, A argu)
          f0 -> ( "[" Expression() "]" )+ ( "[" "]" )* | ( "[" "]" )+ ArrayInitializer()
 void visit(ArrayInitializer n, A argu)
          f0 -> "{" f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ] f2 -> [ "," ] f3 -> "}"
 void visit(AssertStatement n, A argu)
          f0 -> "assert" f1 -> Expression() f2 -> [ ":" Expression() ] f3 -> ";"
 void visit(AssignmentOperator n, A argu)
          f0 -> "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | ">>>=" | "&=" | "^=" | "|="
 void visit(Block n, A argu)
          f0 -> "{" f1 -> ( BlockStatement() )* f2 -> "}"
 void visit(BlockStatement n, A argu)
          f0 -> LocalVariableDeclaration() ";" | Statement() | ClassOrInterfaceDeclaration(0)
 void visit(BooleanLiteral n, A argu)
          f0 -> "true" | "false"
 void visit(BreakStatement n, A argu)
          f0 -> "break" f1 -> [ ] f2 -> ";"
 void visit(CastExpression n, A argu)
          f0 -> "(" Type() ")" UnaryExpression() | "(" Type() ")" UnaryExpressionNotPlusMinus()
 void visit(CastLookahead n, A argu)
          f0 -> "(" PrimitiveType() | "(" Type() "[" "]" | "(" Type() ")" ( "~" | "!"
 void visit(ClassOrInterfaceBody n, A argu)
          f0 -> "{" f1 -> ( ClassOrInterfaceBodyDeclaration(isInterface) )* f2 -> "}"
 void visit(ClassOrInterfaceBodyDeclaration n, A argu)
          f0 -> Initializer() | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | ConstructorDeclaration() | FieldDeclaration(modifiers) | MethodDeclaration(modifiers) ) | ";"
 void visit(ClassOrInterfaceDeclaration n, A argu)
          f0 -> ( "class" | "interface" ) f1 -> f2 -> [ TypeParameters() ] f3 -> [ ExtendsList(isInterface) ] f4 -> [ ImplementsList(isInterface) ] f5 -> ClassOrInterfaceBody(isInterface)
 void visit(ClassOrInterfaceType n, A argu)
          f0 -> f1 -> [ TypeArguments() ] f2 -> ( "."
 void visit(CompilationUnit n, A argu)
          f0 -> [ PackageDeclaration() ] f1 -> ( ImportDeclaration() )* f2 -> ( TypeDeclaration() )* f3 ->
 void visit(ConditionalAndExpression n, A argu)
          f0 -> InclusiveOrExpression() f1 -> ( "&&" InclusiveOrExpression() )*
 void visit(ConditionalExpression n, A argu)
          f0 -> ConditionalOrExpression() f1 -> [ "?"
 void visit(ConditionalOrExpression n, A argu)
          f0 -> ConditionalAndExpression() f1 -> ( "||" ConditionalAndExpression() )*
 void visit(ConstructorDeclaration n, A argu)
          f0 -> [ TypeParameters() ] f1 -> f2 -> FormalParameters() f3 -> [ "throws" NameList() ] f4 -> "{" f5 -> [ ExplicitConstructorInvocation() ] f6 -> ( BlockStatement() )* f7 -> "}"
 void visit(ContinueStatement n, A argu)
          f0 -> "continue" f1 -> [ ] f2 -> ";"
 void visit(DefaultValue n, A argu)
          f0 -> "default" f1 -> MemberValue()
 void visit(DoStatement n, A argu)
          f0 -> "do" f1 -> Statement() f2 -> "while" f3 -> "(" f4 -> Expression() f5 -> ")" f6 -> ";"
 void visit(EmptyStatement n, A argu)
          f0 -> ";"
 void visit(EnumBody n, A argu)
          f0 -> "{" f1 -> [ EnumConstant() ( "," EnumConstant() )* ] f2 -> [ "," ] f3 -> [ ";" ( ClassOrInterfaceBodyDeclaration(false) )* ] f4 -> "}"
 void visit(EnumConstant n, A argu)
          f0 -> f1 -> [ Arguments() ] f2 -> [ ClassOrInterfaceBody(false) ]
 void visit(EnumDeclaration n, A argu)
          f0 -> "enum" f1 -> f2 -> [ ImplementsList(false) ] f3 -> EnumBody()
 void visit(EqualityExpression n, A argu)
          f0 -> InstanceOfExpression() f1 -> ( ( "==" | "!
 void visit(ExclusiveOrExpression n, A argu)
          f0 -> AndExpression() f1 -> ( "^" AndExpression() )*
 void visit(ExplicitConstructorInvocation n, A argu)
          f0 -> "this" Arguments() ";" | [ PrimaryExpression() "." ] "super" Arguments() ";"
 void visit(Expression n, A argu)
          f0 -> ConditionalExpression() f1 -> [ AssignmentOperator() Expression() ]
 void visit(ExtendsList n, A argu)
          f0 -> "extends" f1 -> ClassOrInterfaceType() f2 -> ( "," ClassOrInterfaceType() )*
 void visit(FieldDeclaration n, A argu)
          f0 -> Type() f1 -> VariableDeclarator() f2 -> ( "," VariableDeclarator() )* f3 -> ";"
 void visit(ForInit n, A argu)
          f0 -> LocalVariableDeclaration() | StatementExpressionList()
 void visit(FormalParameter n, A argu)
          f0 -> [ "final" ] f1 -> Type() f2 -> [ "..." ] f3 -> VariableDeclaratorId()
 void visit(FormalParameters n, A argu)
          f0 -> "(" f1 -> [ FormalParameter() ( "," FormalParameter() )* ] f2 -> ")"
 void visit(ForStatement n, A argu)
          f0 -> "for" f1 -> "(" f2 -> ( Type() ":" Expression() | [ ForInit() ] ";" [ Expression() ] ";" [ ForUpdate() ] ) f3 -> ")" f4 -> Statement()
 void visit(ForUpdate n, A argu)
          f0 -> StatementExpressionList()
 void visit(IfStatement n, A argu)
          f0 -> "if" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement() f5 -> [ "else" Statement() ]
 void visit(ImplementsList n, A argu)
          f0 -> "implements" f1 -> ClassOrInterfaceType() f2 -> ( "," ClassOrInterfaceType() )*
 void visit(ImportDeclaration n, A argu)
          f0 -> "import" f1 -> [ "static" ] f2 -> Name() f3 -> [ "." "*" ] f4 -> ";"
 void visit(InclusiveOrExpression n, A argu)
          f0 -> ExclusiveOrExpression() f1 -> ( "|" ExclusiveOrExpression() )*
 void visit(Initializer n, A argu)
          f0 -> [ "static" ] f1 -> Block()
 void visit(InstanceOfExpression n, A argu)
          f0 -> RelationalExpression() f1 -> [ "instanceof" Type() ]
 void visit(LabeledStatement n, A argu)
          f0 -> f1 -> ":" f2 -> Statement()
 void visit(Literal n, A argu)
          f0 -> | | | | BooleanLiteral() | NullLiteral()
 void visit(LocalVariableDeclaration n, A argu)
          f0 -> [ "final" ] f1 -> Type() f2 -> VariableDeclarator() f3 -> ( "," VariableDeclarator() )*
 void visit(MarkerAnnotation n, A argu)
          f0 -> "@" f1 -> Name()
 void visit(MemberSelector n, A argu)
          f0 -> "."
 void visit(MemberValue n, A argu)
          f0 -> Annotation() | MemberValueArrayInitializer() | ConditionalExpression()
 void visit(MemberValueArrayInitializer n, A argu)
          f0 -> "{" f1 -> MemberValue() f2 -> ( "," MemberValue() )* f3 -> [ "," ] f4 -> "}"
 void visit(MemberValuePair n, A argu)
          f0 -> f1 -> "=" f2 -> MemberValue()
 void visit(MemberValuePairs n, A argu)
          f0 -> MemberValuePair() f1 -> ( "," MemberValuePair() )*
 void visit(MethodDeclaration n, A argu)
          f0 -> [ TypeParameters() ] f1 -> ResultType() f2 -> MethodDeclarator() f3 -> [ "throws" NameList() ] f4 -> ( Block() | ";" )
 void visit(MethodDeclarator n, A argu)
          f0 -> f1 -> FormalParameters() f2 -> ( "[" "]" )*
 void visit(Modifiers n, A argu)
          f0 -> ( ( "public" | "static" | "protected" | "private" | "final" | "abstract" | "synchronized" | "native" | "transient" | "volatile" | "strictfp" | Annotation() ) )*
 void visit(MultiplicativeExpression n, A argu)
          f0 -> UnaryExpression() f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*
 void visit(Name n, A argu)
          f0 -> f1 -> ( "."
 void visit(NameList n, A argu)
          f0 -> Name() f1 -> ( "," Name() )*
 void visit(NodeList n, A argu)
           
 void visit(NodeListOptional n, A argu)
           
 void visit(NodeOptional n, A argu)
           
 void visit(NodeSequence n, A argu)
           
 void visit(NodeToken n, A argu)
           
 void visit(NormalAnnotation n, A argu)
          f0 -> "@" f1 -> Name() f2 -> "(" f3 -> [ MemberValuePairs() ] f4 -> ")"
 void visit(NullLiteral n, A argu)
          f0 -> "null"
 void visit(PackageDeclaration n, A argu)
          f0 -> "package" f1 -> Name() f2 -> ";"
 void visit(PostfixExpression n, A argu)
          f0 -> PrimaryExpression() f1 -> [ "++" | "--" ]
 void visit(PreDecrementExpression n, A argu)
          f0 -> "--" f1 -> PrimaryExpression()
 void visit(PreIncrementExpression n, A argu)
          f0 -> "++" f1 -> PrimaryExpression()
 void visit(PrimaryExpression n, A argu)
          f0 -> PrimaryPrefix() f1 -> ( PrimarySuffix() )*
 void visit(PrimaryPrefix n, A argu)
          f0 -> Literal() | "this" | "super" "."
 void visit(PrimarySuffix n, A argu)
          f0 -> "."
 void visit(PrimitiveType n, A argu)
          f0 -> "boolean" | "char" | "byte" | "short" | "int" | "long" | "float" | "double"
 void visit(ReferenceType n, A argu)
          f0 -> PrimitiveType() ( "[" "]" )+ | ( ClassOrInterfaceType() ) ( "[" "]" )*
 void visit(RelationalExpression n, A argu)
          f0 -> ShiftExpression() f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*
 void visit(ResultType n, A argu)
          f0 -> "void" | Type()
 void visit(ReturnStatement n, A argu)
          f0 -> "return" f1 -> [ Expression() ] f2 -> ";"
 void visit(RSIGNEDSHIFT n, A argu)
          f0 -> ( ">" ">" )
 void visit(RUNSIGNEDSHIFT n, A argu)
          f0 -> ( ">" ">" ">" )
 void visit(ShiftExpression n, A argu)
          f0 -> AdditiveExpression() f1 -> ( ( "<<" | RSIGNEDSHIFT() | RUNSIGNEDSHIFT() ) AdditiveExpression() )*
 void visit(SingleMemberAnnotation n, A argu)
          f0 -> "@" f1 -> Name() f2 -> "(" f3 -> MemberValue() f4 -> ")"
 void visit(Statement n, A argu)
          f0 -> LabeledStatement() | AssertStatement() | Block() | EmptyStatement() | StatementExpression() ";" | SwitchStatement() | IfStatement() | WhileStatement() | DoStatement() | ForStatement() | BreakStatement() | ContinueStatement() | ReturnStatement() | ThrowStatement() | SynchronizedStatement() | TryStatement()
 void visit(StatementExpression n, A argu)
          f0 -> PreIncrementExpression() | PreDecrementExpression() | PrimaryExpression() [ "++" | "--" | AssignmentOperator() Expression() ]
 void visit(StatementExpressionList n, A argu)
          f0 -> StatementExpression() f1 -> ( "," StatementExpression() )*
 void visit(SwitchLabel n, A argu)
          f0 -> "case" Expression() ":" | "default" ":"
 void visit(SwitchStatement n, A argu)
          f0 -> "switch" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> "{" f5 -> ( SwitchLabel() ( BlockStatement() )* )* f6 -> "}"
 void visit(SynchronizedStatement n, A argu)
          f0 -> "synchronized" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Block()
 void visit(ThrowStatement n, A argu)
          f0 -> "throw" f1 -> Expression() f2 -> ";"
 void visit(TryStatement n, A argu)
          f0 -> "try" f1 -> Block() f2 -> ( "catch" "(" FormalParameter() ")" Block() )* f3 -> [ "finally" Block() ]
 void visit(Type n, A argu)
          f0 -> ReferenceType() | PrimitiveType()
 void visit(TypeArgument n, A argu)
          f0 -> ReferenceType() | "?"
 void visit(TypeArguments n, A argu)
          f0 -> "<" f1 -> TypeArgument() f2 -> ( "," TypeArgument() )* f3 -> ">"
 void visit(TypeBound n, A argu)
          f0 -> "extends" f1 -> ClassOrInterfaceType() f2 -> ( "&" ClassOrInterfaceType() )*
 void visit(TypeDeclaration n, A argu)
          f0 -> ";" | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) )
 void visit(TypeParameter n, A argu)
          f0 -> f1 -> [ TypeBound() ]
 void visit(TypeParameters n, A argu)
          f0 -> "<" f1 -> TypeParameter() f2 -> ( "," TypeParameter() )* f3 -> ">"
 void visit(UnaryExpression n, A argu)
          f0 -> ( "+" | "-" ) UnaryExpression() | PreIncrementExpression() | PreDecrementExpression() | UnaryExpressionNotPlusMinus()
 void visit(UnaryExpressionNotPlusMinus n, A argu)
          f0 -> ( "~" | "!"
 void visit(VariableDeclarator n, A argu)
          f0 -> VariableDeclaratorId() f1 -> [ "=" VariableInitializer() ]
 void visit(VariableDeclaratorId n, A argu)
          f0 -> f1 -> ( "[" "]" )*
 void visit(VariableInitializer n, A argu)
          f0 -> ArrayInitializer() | Expression()
 void visit(WhileStatement n, A argu)
          f0 -> "while" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement()
 void visit(WildcardBounds n, A argu)
          f0 -> "extends" ReferenceType() | "super" ReferenceType()
 

Method Detail

visit

void visit(NodeList n,
           A argu)

visit

void visit(NodeListOptional n,
           A argu)

visit

void visit(NodeOptional n,
           A argu)

visit

void visit(NodeSequence n,
           A argu)

visit

void visit(NodeToken n,
           A argu)

visit

void visit(CompilationUnit n,
           A argu)
f0 -> [ PackageDeclaration() ] f1 -> ( ImportDeclaration() )* f2 -> ( TypeDeclaration() )* f3 ->


visit

void visit(PackageDeclaration n,
           A argu)
f0 -> "package" f1 -> Name() f2 -> ";"


visit

void visit(ImportDeclaration n,
           A argu)
f0 -> "import" f1 -> [ "static" ] f2 -> Name() f3 -> [ "." "*" ] f4 -> ";"


visit

void visit(Modifiers n,
           A argu)
f0 -> ( ( "public" | "static" | "protected" | "private" | "final" | "abstract" | "synchronized" | "native" | "transient" | "volatile" | "strictfp" | Annotation() ) )*


visit

void visit(TypeDeclaration n,
           A argu)
f0 -> ";" | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) )


visit

void visit(ClassOrInterfaceDeclaration n,
           A argu)
f0 -> ( "class" | "interface" ) f1 -> f2 -> [ TypeParameters() ] f3 -> [ ExtendsList(isInterface) ] f4 -> [ ImplementsList(isInterface) ] f5 -> ClassOrInterfaceBody(isInterface)


visit

void visit(ExtendsList n,
           A argu)
f0 -> "extends" f1 -> ClassOrInterfaceType() f2 -> ( "," ClassOrInterfaceType() )*


visit

void visit(ImplementsList n,
           A argu)
f0 -> "implements" f1 -> ClassOrInterfaceType() f2 -> ( "," ClassOrInterfaceType() )*


visit

void visit(EnumDeclaration n,
           A argu)
f0 -> "enum" f1 -> f2 -> [ ImplementsList(false) ] f3 -> EnumBody()


visit

void visit(EnumBody n,
           A argu)
f0 -> "{" f1 -> [ EnumConstant() ( "," EnumConstant() )* ] f2 -> [ "," ] f3 -> [ ";" ( ClassOrInterfaceBodyDeclaration(false) )* ] f4 -> "}"


visit

void visit(EnumConstant n,
           A argu)
f0 -> f1 -> [ Arguments() ] f2 -> [ ClassOrInterfaceBody(false) ]


visit

void visit(TypeParameters n,
           A argu)
f0 -> "<" f1 -> TypeParameter() f2 -> ( "," TypeParameter() )* f3 -> ">"


visit

void visit(TypeParameter n,
           A argu)
f0 -> f1 -> [ TypeBound() ]


visit

void visit(TypeBound n,
           A argu)
f0 -> "extends" f1 -> ClassOrInterfaceType() f2 -> ( "&" ClassOrInterfaceType() )*


visit

void visit(ClassOrInterfaceBody n,
           A argu)
f0 -> "{" f1 -> ( ClassOrInterfaceBodyDeclaration(isInterface) )* f2 -> "}"


visit

void visit(ClassOrInterfaceBodyDeclaration n,
           A argu)
f0 -> Initializer() | Modifiers() ( ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | ConstructorDeclaration() | FieldDeclaration(modifiers) | MethodDeclaration(modifiers) ) | ";"


visit

void visit(FieldDeclaration n,
           A argu)
f0 -> Type() f1 -> VariableDeclarator() f2 -> ( "," VariableDeclarator() )* f3 -> ";"


visit

void visit(VariableDeclarator n,
           A argu)
f0 -> VariableDeclaratorId() f1 -> [ "=" VariableInitializer() ]


visit

void visit(VariableDeclaratorId n,
           A argu)
f0 -> f1 -> ( "[" "]" )*


visit

void visit(VariableInitializer n,
           A argu)
f0 -> ArrayInitializer() | Expression()


visit

void visit(ArrayInitializer n,
           A argu)
f0 -> "{" f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ] f2 -> [ "," ] f3 -> "}"


visit

void visit(MethodDeclaration n,
           A argu)
f0 -> [ TypeParameters() ] f1 -> ResultType() f2 -> MethodDeclarator() f3 -> [ "throws" NameList() ] f4 -> ( Block() | ";" )


visit

void visit(MethodDeclarator n,
           A argu)
f0 -> f1 -> FormalParameters() f2 -> ( "[" "]" )*


visit

void visit(FormalParameters n,
           A argu)
f0 -> "(" f1 -> [ FormalParameter() ( "," FormalParameter() )* ] f2 -> ")"


visit

void visit(FormalParameter n,
           A argu)
f0 -> [ "final" ] f1 -> Type() f2 -> [ "..." ] f3 -> VariableDeclaratorId()


visit

void visit(ConstructorDeclaration n,
           A argu)
f0 -> [ TypeParameters() ] f1 -> f2 -> FormalParameters() f3 -> [ "throws" NameList() ] f4 -> "{" f5 -> [ ExplicitConstructorInvocation() ] f6 -> ( BlockStatement() )* f7 -> "}"


visit

void visit(ExplicitConstructorInvocation n,
           A argu)
f0 -> "this" Arguments() ";" | [ PrimaryExpression() "." ] "super" Arguments() ";"


visit

void visit(Initializer n,
           A argu)
f0 -> [ "static" ] f1 -> Block()


visit

void visit(Type n,
           A argu)
f0 -> ReferenceType() | PrimitiveType()


visit

void visit(ReferenceType n,
           A argu)
f0 -> PrimitiveType() ( "[" "]" )+ | ( ClassOrInterfaceType() ) ( "[" "]" )*


visit

void visit(ClassOrInterfaceType n,
           A argu)
f0 -> f1 -> [ TypeArguments() ] f2 -> ( "." [ TypeArguments() ] )*


visit

void visit(TypeArguments n,
           A argu)
f0 -> "<" f1 -> TypeArgument() f2 -> ( "," TypeArgument() )* f3 -> ">"


visit

void visit(TypeArgument n,
           A argu)
f0 -> ReferenceType() | "?" [ WildcardBounds() ]


visit

void visit(WildcardBounds n,
           A argu)
f0 -> "extends" ReferenceType() | "super" ReferenceType()


visit

void visit(PrimitiveType n,
           A argu)
f0 -> "boolean" | "char" | "byte" | "short" | "int" | "long" | "float" | "double"


visit

void visit(ResultType n,
           A argu)
f0 -> "void" | Type()


visit

void visit(Name n,
           A argu)
f0 -> f1 -> ( "." )*


visit

void visit(NameList n,
           A argu)
f0 -> Name() f1 -> ( "," Name() )*


visit

void visit(Expression n,
           A argu)
f0 -> ConditionalExpression() f1 -> [ AssignmentOperator() Expression() ]


visit

void visit(AssignmentOperator n,
           A argu)
f0 -> "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | ">>>=" | "&=" | "^=" | "|="


visit

void visit(ConditionalExpression n,
           A argu)
f0 -> ConditionalOrExpression() f1 -> [ "?" Expression() ":" Expression() ]


visit

void visit(ConditionalOrExpression n,
           A argu)
f0 -> ConditionalAndExpression() f1 -> ( "||" ConditionalAndExpression() )*


visit

void visit(ConditionalAndExpression n,
           A argu)
f0 -> InclusiveOrExpression() f1 -> ( "&&" InclusiveOrExpression() )*


visit

void visit(InclusiveOrExpression n,
           A argu)
f0 -> ExclusiveOrExpression() f1 -> ( "|" ExclusiveOrExpression() )*


visit

void visit(ExclusiveOrExpression n,
           A argu)
f0 -> AndExpression() f1 -> ( "^" AndExpression() )*


visit

void visit(AndExpression n,
           A argu)
f0 -> EqualityExpression() f1 -> ( "&" EqualityExpression() )*


visit

void visit(EqualityExpression n,
           A argu)
f0 -> InstanceOfExpression() f1 -> ( ( "==" | "!=" ) InstanceOfExpression() )*


visit

void visit(InstanceOfExpression n,
           A argu)
f0 -> RelationalExpression() f1 -> [ "instanceof" Type() ]


visit

void visit(RelationalExpression n,
           A argu)
f0 -> ShiftExpression() f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*


visit

void visit(ShiftExpression n,
           A argu)
f0 -> AdditiveExpression() f1 -> ( ( "<<" | RSIGNEDSHIFT() | RUNSIGNEDSHIFT() ) AdditiveExpression() )*


visit

void visit(AdditiveExpression n,
           A argu)
f0 -> MultiplicativeExpression() f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*


visit

void visit(MultiplicativeExpression n,
           A argu)
f0 -> UnaryExpression() f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*


visit

void visit(UnaryExpression n,
           A argu)
f0 -> ( "+" | "-" ) UnaryExpression() | PreIncrementExpression() | PreDecrementExpression() | UnaryExpressionNotPlusMinus()


visit

void visit(PreIncrementExpression n,
           A argu)
f0 -> "++" f1 -> PrimaryExpression()


visit

void visit(PreDecrementExpression n,
           A argu)
f0 -> "--" f1 -> PrimaryExpression()


visit

void visit(UnaryExpressionNotPlusMinus n,
           A argu)
f0 -> ( "~" | "!" ) UnaryExpression() | CastExpression() | PostfixExpression()


visit

void visit(CastLookahead n,
           A argu)
f0 -> "(" PrimitiveType() | "(" Type() "[" "]" | "(" Type() ")" ( "~" | "!" | "(" | | "this" | "super" | "new" | Literal() )


visit

void visit(PostfixExpression n,
           A argu)
f0 -> PrimaryExpression() f1 -> [ "++" | "--" ]


visit

void visit(CastExpression n,
           A argu)
f0 -> "(" Type() ")" UnaryExpression() | "(" Type() ")" UnaryExpressionNotPlusMinus()


visit

void visit(PrimaryExpression n,
           A argu)
f0 -> PrimaryPrefix() f1 -> ( PrimarySuffix() )*


visit

void visit(MemberSelector n,
           A argu)
f0 -> "." f1 -> TypeArguments() f2 ->


visit

void visit(PrimaryPrefix n,
           A argu)
f0 -> Literal() | "this" | "super" "." | "(" Expression() ")" | AllocationExpression() | ResultType() "." "class" | Name()


visit

void visit(PrimarySuffix n,
           A argu)
f0 -> "." "this" | "." "super" | "." AllocationExpression() | MemberSelector() | "[" Expression() "]" | "." | Arguments()


visit

void visit(Literal n,
           A argu)
f0 -> | | | | BooleanLiteral() | NullLiteral()


visit

void visit(BooleanLiteral n,
           A argu)
f0 -> "true" | "false"


visit

void visit(NullLiteral n,
           A argu)
f0 -> "null"


visit

void visit(Arguments n,
           A argu)
f0 -> "(" f1 -> [ ArgumentList() ] f2 -> ")"


visit

void visit(ArgumentList n,
           A argu)
f0 -> Expression() f1 -> ( "," Expression() )*


visit

void visit(AllocationExpression n,
           A argu)
f0 -> "new" PrimitiveType() ArrayDimsAndInits() | "new" ClassOrInterfaceType() [ TypeArguments() ] ( ArrayDimsAndInits() | Arguments() [ ClassOrInterfaceBody(false) ] )


visit

void visit(ArrayDimsAndInits n,
           A argu)
f0 -> ( "[" Expression() "]" )+ ( "[" "]" )* | ( "[" "]" )+ ArrayInitializer()


visit

void visit(Statement n,
           A argu)
f0 -> LabeledStatement() | AssertStatement() | Block() | EmptyStatement() | StatementExpression() ";" | SwitchStatement() | IfStatement() | WhileStatement() | DoStatement() | ForStatement() | BreakStatement() | ContinueStatement() | ReturnStatement() | ThrowStatement() | SynchronizedStatement() | TryStatement()


visit

void visit(AssertStatement n,
           A argu)
f0 -> "assert" f1 -> Expression() f2 -> [ ":" Expression() ] f3 -> ";"


visit

void visit(LabeledStatement n,
           A argu)
f0 -> f1 -> ":" f2 -> Statement()


visit

void visit(Block n,
           A argu)
f0 -> "{" f1 -> ( BlockStatement() )* f2 -> "}"


visit

void visit(BlockStatement n,
           A argu)
f0 -> LocalVariableDeclaration() ";" | Statement() | ClassOrInterfaceDeclaration(0)


visit

void visit(LocalVariableDeclaration n,
           A argu)
f0 -> [ "final" ] f1 -> Type() f2 -> VariableDeclarator() f3 -> ( "," VariableDeclarator() )*


visit

void visit(EmptyStatement n,
           A argu)
f0 -> ";"


visit

void visit(StatementExpression n,
           A argu)
f0 -> PreIncrementExpression() | PreDecrementExpression() | PrimaryExpression() [ "++" | "--" | AssignmentOperator() Expression() ]


visit

void visit(SwitchStatement n,
           A argu)
f0 -> "switch" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> "{" f5 -> ( SwitchLabel() ( BlockStatement() )* )* f6 -> "}"


visit

void visit(SwitchLabel n,
           A argu)
f0 -> "case" Expression() ":" | "default" ":"


visit

void visit(IfStatement n,
           A argu)
f0 -> "if" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement() f5 -> [ "else" Statement() ]


visit

void visit(WhileStatement n,
           A argu)
f0 -> "while" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Statement()


visit

void visit(DoStatement n,
           A argu)
f0 -> "do" f1 -> Statement() f2 -> "while" f3 -> "(" f4 -> Expression() f5 -> ")" f6 -> ";"


visit

void visit(ForStatement n,
           A argu)
f0 -> "for" f1 -> "(" f2 -> ( Type() ":" Expression() | [ ForInit() ] ";" [ Expression() ] ";" [ ForUpdate() ] ) f3 -> ")" f4 -> Statement()


visit

void visit(ForInit n,
           A argu)
f0 -> LocalVariableDeclaration() | StatementExpressionList()


visit

void visit(StatementExpressionList n,
           A argu)
f0 -> StatementExpression() f1 -> ( "," StatementExpression() )*


visit

void visit(ForUpdate n,
           A argu)
f0 -> StatementExpressionList()


visit

void visit(BreakStatement n,
           A argu)
f0 -> "break" f1 -> [ ] f2 -> ";"


visit

void visit(ContinueStatement n,
           A argu)
f0 -> "continue" f1 -> [ ] f2 -> ";"


visit

void visit(ReturnStatement n,
           A argu)
f0 -> "return" f1 -> [ Expression() ] f2 -> ";"


visit

void visit(ThrowStatement n,
           A argu)
f0 -> "throw" f1 -> Expression() f2 -> ";"


visit

void visit(SynchronizedStatement n,
           A argu)
f0 -> "synchronized" f1 -> "(" f2 -> Expression() f3 -> ")" f4 -> Block()


visit

void visit(TryStatement n,
           A argu)
f0 -> "try" f1 -> Block() f2 -> ( "catch" "(" FormalParameter() ")" Block() )* f3 -> [ "finally" Block() ]


visit

void visit(RUNSIGNEDSHIFT n,
           A argu)
f0 -> ( ">" ">" ">" )


visit

void visit(RSIGNEDSHIFT n,
           A argu)
f0 -> ( ">" ">" )


visit

void visit(Annotation n,
           A argu)
f0 -> NormalAnnotation() | SingleMemberAnnotation() | MarkerAnnotation()


visit

void visit(NormalAnnotation n,
           A argu)
f0 -> "@" f1 -> Name() f2 -> "(" f3 -> [ MemberValuePairs() ] f4 -> ")"


visit

void visit(MarkerAnnotation n,
           A argu)
f0 -> "@" f1 -> Name()


visit

void visit(SingleMemberAnnotation n,
           A argu)
f0 -> "@" f1 -> Name() f2 -> "(" f3 -> MemberValue() f4 -> ")"


visit

void visit(MemberValuePairs n,
           A argu)
f0 -> MemberValuePair() f1 -> ( "," MemberValuePair() )*


visit

void visit(MemberValuePair n,
           A argu)
f0 -> f1 -> "=" f2 -> MemberValue()


visit

void visit(MemberValue n,
           A argu)
f0 -> Annotation() | MemberValueArrayInitializer() | ConditionalExpression()


visit

void visit(MemberValueArrayInitializer n,
           A argu)
f0 -> "{" f1 -> MemberValue() f2 -> ( "," MemberValue() )* f3 -> [ "," ] f4 -> "}"


visit

void visit(AnnotationTypeDeclaration n,
           A argu)
f0 -> "@" f1 -> "interface" f2 -> f3 -> AnnotationTypeBody()


visit

void visit(AnnotationTypeBody n,
           A argu)
f0 -> "{" f1 -> ( AnnotationTypeMemberDeclaration() )* f2 -> "}"


visit

void visit(AnnotationTypeMemberDeclaration n,
           A argu)
f0 -> Modifiers() ( Type() "(" ")" [ DefaultValue() ] ";" | ClassOrInterfaceDeclaration(modifiers) | EnumDeclaration(modifiers) | AnnotationTypeDeclaration(modifiers) | FieldDeclaration(modifiers) ) | ( ";" )


visit

void visit(DefaultValue n,
           A argu)
f0 -> "default" f1 -> MemberValue()