//
// Generated by JTB 1.2.2
//
package xtc.lang.javacc.visitor;
import xtc.lang.javacc.syntaxtree.*;
import java.util.*;
/**
* All Object visitors must implement this interface.
*/
public interface ObjectVisitor {
//
// Object Auto class visitors
//
public Object visit(NodeList n, Object argu);
public Object visit(NodeListOptional n, Object argu);
public Object visit(NodeOptional n, Object argu);
public Object visit(NodeSequence n, Object argu);
public Object visit(NodeToken n, Object argu);
//
// User-generated visitor methods below
//
/**
* Visit the specified node.
* <pre>
* f0 -> [ PackageDeclaration() ]
* f1 -> ( ImportDeclaration() )*
* f2 -> ( TypeDeclaration() )*
* f3 -> <EOF>
* </pre>
*/
public Object visit(CompilationUnit n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "package"
* f1 -> Name()
* f2 -> ";"
* </pre>
*/
public Object visit(PackageDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "import"
* f1 -> Name()
* f2 -> [ "." "*" ]
* f3 -> ";"
* </pre>
*/
public Object visit(ImportDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ClassDeclaration()
* | InterfaceDeclaration()
* | ";"
* </pre>
*/
public Object visit(TypeDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "abstract" | "final" | "public" | "strictfp" )*
* f1 -> UnmodifiedClassDeclaration()
* </pre>
*/
public Object visit(ClassDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "class"
* f1 -> <IDENTIFIER>
* f2 -> [ "extends" Name() ]
* f3 -> [ "implements" NameList() ]
* f4 -> ClassBody()
* </pre>
*/
public Object visit(UnmodifiedClassDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "{"
* f1 -> ( ClassBodyDeclaration() )*
* f2 -> "}"
* </pre>
*/
public Object visit(ClassBody n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "static" | "abstract" | "final" | "public" | "protected" | "private" | "strictfp" )*
* f1 -> UnmodifiedClassDeclaration()
* </pre>
*/
public Object visit(NestedClassDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> Initializer()
* | NestedClassDeclaration()
* | NestedInterfaceDeclaration()
* | ConstructorDeclaration()
* | MethodDeclaration()
* | FieldDeclaration()
* | ";"
* </pre>
*/
public Object visit(ClassBodyDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" | "strictfp" )*
* f1 -> ResultType()
* f2 -> <IDENTIFIER>
* f3 -> "("
* </pre>
*/
public Object visit(MethodDeclarationLookahead n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "abstract" | "public" | "strictfp" )*
* f1 -> UnmodifiedInterfaceDeclaration()
* </pre>
*/
public Object visit(InterfaceDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "static" | "abstract" | "final" | "public" | "protected" | "private" | "strictfp" )*
* f1 -> UnmodifiedInterfaceDeclaration()
* </pre>
*/
public Object visit(NestedInterfaceDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "interface"
* f1 -> <IDENTIFIER>
* f2 -> [ "extends" NameList() ]
* f3 -> "{"
* f4 -> ( InterfaceMemberDeclaration() )*
* f5 -> "}"
* </pre>
*/
public Object visit(UnmodifiedInterfaceDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> NestedClassDeclaration()
* | NestedInterfaceDeclaration()
* | MethodDeclaration()
* | FieldDeclaration()
* | ";"
* </pre>
*/
public Object visit(InterfaceMemberDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "public" | "protected" | "private" | "static" | "final" | "transient" | "volatile" )*
* f1 -> Type()
* f2 -> VariableDeclarator()
* f3 -> ( "," VariableDeclarator() )*
* f4 -> ";"
* </pre>
*/
public Object visit(FieldDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> VariableDeclaratorId()
* f1 -> [ "=" VariableInitializer() ]
* </pre>
*/
public Object visit(VariableDeclarator n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> <IDENTIFIER>
* f1 -> ( "[" "]" )*
* </pre>
*/
public Object visit(VariableDeclaratorId n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ArrayInitializer()
* | Expression()
* </pre>
*/
public Object visit(VariableInitializer n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "{"
* f1 -> [ VariableInitializer() ( "," VariableInitializer() )* ]
* f2 -> [ "," ]
* f3 -> "}"
* </pre>
*/
public Object visit(ArrayInitializer n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "public" | "protected" | "private" | "static" | "abstract" | "final" | "native" | "synchronized" | "strictfp" )*
* f1 -> ResultType()
* f2 -> MethodDeclarator()
* f3 -> [ "throws" NameList() ]
* f4 -> ( Block() | ";" )
* </pre>
*/
public Object visit(MethodDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> <IDENTIFIER>
* f1 -> FormalParameters()
* f2 -> ( "[" "]" )*
* </pre>
*/
public Object visit(MethodDeclarator n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "("
* f1 -> [ FormalParameter() ( "," FormalParameter() )* ]
* f2 -> ")"
* </pre>
*/
public Object visit(FormalParameters n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> [ "final" ]
* f1 -> Type()
* f2 -> VariableDeclaratorId()
* </pre>
*/
public Object visit(FormalParameter n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> [ "public" | "protected" | "private" ]
* f1 -> <IDENTIFIER>
* f2 -> FormalParameters()
* f3 -> [ "throws" NameList() ]
* f4 -> "{"
* f5 -> [ ExplicitConstructorInvocation() ]
* f6 -> ( BlockStatement() )*
* f7 -> "}"
* </pre>
*/
public Object visit(ConstructorDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "this" Arguments() ";"
* | [ PrimaryExpression() "." ] "super" Arguments() ";"
* </pre>
*/
public Object visit(ExplicitConstructorInvocation n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> [ "static" ]
* f1 -> Block()
* </pre>
*/
public Object visit(Initializer n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( PrimitiveType() | Name() )
* f1 -> ( "[" "]" )*
* </pre>
*/
public Object visit(Type n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "boolean"
* | "char"
* | "byte"
* | "short"
* | "int"
* | "long"
* | "float"
* | "double"
* </pre>
*/
public Object visit(PrimitiveType n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "void"
* | Type()
* </pre>
*/
public Object visit(ResultType n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> <IDENTIFIER>
* f1 -> ( "." <IDENTIFIER> )*
* </pre>
*/
public Object visit(Name n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> Name()
* f1 -> ( "," Name() )*
* </pre>
*/
public Object visit(NameList n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ConditionalExpression()
* f1 -> [ AssignmentOperator() Expression() ]
* </pre>
*/
public Object visit(Expression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "="
* | "*="
* | "/="
* | "%="
* | "+="
* | "-="
* | "<<="
* | ">>="
* | ">>>="
* | "&="
* | "^="
* | "|="
* </pre>
*/
public Object visit(AssignmentOperator n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ConditionalOrExpression()
* f1 -> [ "?" Expression() ":" ConditionalExpression() ]
* </pre>
*/
public Object visit(ConditionalExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ConditionalAndExpression()
* f1 -> ( "||" ConditionalAndExpression() )*
* </pre>
*/
public Object visit(ConditionalOrExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> InclusiveOrExpression()
* f1 -> ( "&&" InclusiveOrExpression() )*
* </pre>
*/
public Object visit(ConditionalAndExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ExclusiveOrExpression()
* f1 -> ( "|" ExclusiveOrExpression() )*
* </pre>
*/
public Object visit(InclusiveOrExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> AndExpression()
* f1 -> ( "^" AndExpression() )*
* </pre>
*/
public Object visit(ExclusiveOrExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> EqualityExpression()
* f1 -> ( "&" EqualityExpression() )*
* </pre>
*/
public Object visit(AndExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> InstanceOfExpression()
* f1 -> ( ( "==" | "!=" ) InstanceOfExpression() )*
* </pre>
*/
public Object visit(EqualityExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> RelationalExpression()
* f1 -> [ "instanceof" Type() ]
* </pre>
*/
public Object visit(InstanceOfExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ShiftExpression()
* f1 -> ( ( "<" | ">" | "<=" | ">=" ) ShiftExpression() )*
* </pre>
*/
public Object visit(RelationalExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> AdditiveExpression()
* f1 -> ( ( "<<" | ">>" | ">>>" ) AdditiveExpression() )*
* </pre>
*/
public Object visit(ShiftExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> MultiplicativeExpression()
* f1 -> ( ( "+" | "-" ) MultiplicativeExpression() )*
* </pre>
*/
public Object visit(AdditiveExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> UnaryExpression()
* f1 -> ( ( "*" | "/" | "%" ) UnaryExpression() )*
* </pre>
*/
public Object visit(MultiplicativeExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "+" | "-" ) UnaryExpression()
* | PreIncrementExpression()
* | PreDecrementExpression()
* | UnaryExpressionNotPlusMinus()
* </pre>
*/
public Object visit(UnaryExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "++"
* f1 -> PrimaryExpression()
* </pre>
*/
public Object visit(PreIncrementExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "--"
* f1 -> PrimaryExpression()
* </pre>
*/
public Object visit(PreDecrementExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "~" | "!" ) UnaryExpression()
* | CastExpression()
* | PostfixExpression()
* </pre>
*/
public Object visit(UnaryExpressionNotPlusMinus n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "(" PrimitiveType()
* | "(" Name() "[" "]"
* | "(" Name() ")" ( "~" | "!" | "(" | <IDENTIFIER> | "this" | "super" | "new" | Literal() )
* </pre>
*/
public Object visit(CastLookahead n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> PrimaryExpression()
* f1 -> [ "++" | "--" ]
* </pre>
*/
public Object visit(PostfixExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "(" Type() ")" UnaryExpression()
* | "(" Type() ")" UnaryExpressionNotPlusMinus()
* </pre>
*/
public Object visit(CastExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> PrimaryPrefix()
* f1 -> ( PrimarySuffix() )*
* </pre>
*/
public Object visit(PrimaryExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> Literal()
* | "this"
* | "super" "." <IDENTIFIER>
* | "(" Expression() ")"
* | AllocationExpression()
* | ResultType() "." "class"
* | Name()
* </pre>
*/
public Object visit(PrimaryPrefix n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "." "this"
* | "." "super"
* | "." AllocationExpression()
* | "[" Expression() "]"
* | "." <IDENTIFIER>
* | Arguments()
* </pre>
*/
public Object visit(PrimarySuffix n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> <INTEGER_LITERAL>
* | <FLOATING_POINT_LITERAL>
* | <CHARACTER_LITERAL>
* | <STRING_LITERAL>
* | BooleanLiteral()
* | NullLiteral()
* </pre>
*/
public Object visit(Literal n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "true"
* | "false"
* </pre>
*/
public Object visit(BooleanLiteral n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "null"
* </pre>
*/
public Object visit(NullLiteral n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "("
* f1 -> [ ArgumentList() ]
* f2 -> ")"
* </pre>
*/
public Object visit(Arguments n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> Expression()
* f1 -> ( "," Expression() )*
* </pre>
*/
public Object visit(ArgumentList n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "new" PrimitiveType() ArrayDimsAndInits()
* | "new" Name() ( ArrayDimsAndInits() | Arguments() [ ClassBody() ] )
* </pre>
*/
public Object visit(AllocationExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ( "[" Expression() "]" )+ ( "[" "]" )*
* | ( "[" "]" )+ ArrayInitializer()
* </pre>
*/
public Object visit(ArrayDimsAndInits n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> LabeledStatement()
* | Block()
* | EmptyStatement()
* | StatementExpression() ";"
* | SwitchStatement()
* | IfStatement()
* | WhileStatement()
* | DoStatement()
* | ForStatement()
* | BreakStatement()
* | ContinueStatement()
* | ReturnStatement()
* | ThrowStatement()
* | SynchronizedStatement()
* | TryStatement()
* | AssertStatement()
* </pre>
*/
public Object visit(Statement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> <IDENTIFIER>
* f1 -> ":"
* f2 -> Statement()
* </pre>
*/
public Object visit(LabeledStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "{"
* f1 -> ( BlockStatement() )*
* f2 -> "}"
* </pre>
*/
public Object visit(Block n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> LocalVariableDeclaration() ";"
* | Statement()
* | UnmodifiedClassDeclaration()
* | UnmodifiedInterfaceDeclaration()
* </pre>
*/
public Object visit(BlockStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> [ "final" ]
* f1 -> Type()
* f2 -> VariableDeclarator()
* f3 -> ( "," VariableDeclarator() )*
* </pre>
*/
public Object visit(LocalVariableDeclaration n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> ";"
* </pre>
*/
public Object visit(EmptyStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> PreIncrementExpression()
* | PreDecrementExpression()
* | PrimaryExpression() [ "++" | "--" | AssignmentOperator() Expression() ]
* </pre>
*/
public Object visit(StatementExpression n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "switch"
* f1 -> "("
* f2 -> Expression()
* f3 -> ")"
* f4 -> "{"
* f5 -> ( SwitchLabel() ( BlockStatement() )* )*
* f6 -> "}"
* </pre>
*/
public Object visit(SwitchStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "case" Expression() ":"
* | "default" ":"
* </pre>
*/
public Object visit(SwitchLabel n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "if"
* f1 -> "("
* f2 -> Expression()
* f3 -> ")"
* f4 -> Statement()
* f5 -> [ "else" Statement() ]
* </pre>
*/
public Object visit(IfStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "while"
* f1 -> "("
* f2 -> Expression()
* f3 -> ")"
* f4 -> Statement()
* </pre>
*/
public Object visit(WhileStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "do"
* f1 -> Statement()
* f2 -> "while"
* f3 -> "("
* f4 -> Expression()
* f5 -> ")"
* f6 -> ";"
* </pre>
*/
public Object visit(DoStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "for"
* f1 -> "("
* f2 -> [ ForInit() ]
* f3 -> ";"
* f4 -> [ Expression() ]
* f5 -> ";"
* f6 -> [ ForUpdate() ]
* f7 -> ")"
* f8 -> Statement()
* </pre>
*/
public Object visit(ForStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> LocalVariableDeclaration()
* | StatementExpressionList()
* </pre>
*/
public Object visit(ForInit n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> StatementExpression()
* f1 -> ( "," StatementExpression() )*
* </pre>
*/
public Object visit(StatementExpressionList n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> StatementExpressionList()
* </pre>
*/
public Object visit(ForUpdate n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "break"
* f1 -> [ <IDENTIFIER> ]
* f2 -> ";"
* </pre>
*/
public Object visit(BreakStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "continue"
* f1 -> [ <IDENTIFIER> ]
* f2 -> ";"
* </pre>
*/
public Object visit(ContinueStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "return"
* f1 -> [ Expression() ]
* f2 -> ";"
* </pre>
*/
public Object visit(ReturnStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "throw"
* f1 -> Expression()
* f2 -> ";"
* </pre>
*/
public Object visit(ThrowStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "synchronized"
* f1 -> "("
* f2 -> Expression()
* f3 -> ")"
* f4 -> Block()
* </pre>
*/
public Object visit(SynchronizedStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "try"
* f1 -> Block()
* f2 -> ( "catch" "(" FormalParameter() ")" Block() )*
* f3 -> [ "finally" Block() ]
* </pre>
*/
public Object visit(TryStatement n, Object argu);
/**
* Visit the specified node.
* <pre>
* f0 -> "assert"
* f1 -> Expression()
* f2 -> [ ":" Expression() ]
* f3 -> ";"
* </pre>
*/
public Object visit(AssertStatement n, Object argu);
}
|