edu.mit.ai.psg.jeva
Class JevaVisitorBase

java.lang.Object
  |
  +--edu.mit.ai.psg.jeva.JevaVisitorBase
Direct Known Subclasses:
EmptyEvalHook, TraceCallsEvalHook, TraceConstructsEvalHook, TraceEvalHookBase, TraceMethods.FreeSimpleNamesCollector

public abstract class JevaVisitorBase
extends Object
implements IJevaVisitor

Base class for visitor design pattern visitors. Each default method calls the virtual method of its supertype, thus implementing runtime method inheritance lookup on the type of the node argument without adding methods to the node class. Node methods are public as required for IJevaVisitor. Supertype methods besides SimpleNode are protected, as they are only meant to be called by subtype methods in this class or in subclasses.


Constructor Summary
JevaVisitorBase()
           
 
Method Summary
protected  Object visit(IClassBodyDeclaration node, Object data)
          IClassBodyDeclaration: default calls visit(IJevaNode, Object)
protected  Object visit(IDeclarationNode node, Object data)
          IDeclarationNode: default calls visit(IJevaNode, Object);
protected  Object visit(IExpressionNode node, Object data)
          IExpressionNode: default calls visit(IJevaNode, Object)
abstract  Object visit(IJevaNode node, Object data)
          IJevaNode: root of type hiearchy; here subclasses must provide default for all nodes.
protected  Object visit(IStatementNode node, Object data)
          IStatementNode default: visit(IJevaNode, Object)
 Object visit(JNCompilationUnit node, Object data)
          JNCompilationUnit: default calls visit(IJevaNode, Object)
 Object visit(JNDClassBody node, Object data)
          JNDClassBody: default is to call visit(IJevaNode, Object);
 Object visit(JNDClassDeclaration node, Object data)
          JNDClassDeclaration: if parent is JNCompilationUnit, default is to treat as IDeclarationNode.
 Object visit(JNDConstructorDeclaration node, Object data)
          JNDFieldDeclaration: default calls visit(IClassDeclaration, Object)
 Object visit(JNDFieldDeclaration node, Object data)
          JNDFieldDeclaration: default calls visit(IClassBodyDeclaration, Object)
 Object visit(JNDImportDeclaration node, Object data)
          JNDImportDeclaration default calls visit(IDeclarationNode, Object);
 Object visit(JNDInitializer node, Object data)
          JNDInitializer default: visit(IClassBodyDeclaration, Object)
 Object visit(JNDMethodDeclaration node, Object data)
          JNDFieldDeclaration: default calls visit(IClassDeclaration, Object)
 Object visit(JNDPackageDeclaration node, Object data)
          JNDPackageDeclaration: default calls visit(IDeclarationNode, Object);
 Object visit(JNEAdditiveExpression node, Object data)
          JNEAdditiveExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEAndExpression node, Object data)
          JNEAndExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEArguments node, Object data)
          JNEArguments default: visit(IJevaNode, Object)
 Object visit(JNEArrayAccessExpression node, Object data)
          JNEArrayAccessExpression default: visit(IExpressionNode, Object)
 Object visit(JNEArrayCreationExpression node, Object data)
          JNEArrayCreationExpression default: visit(IExpressionNode, Object)
 Object visit(JNEArrayDimensions node, Object data)
          JNEArrayDimensions default: visit(IJevaNode, Object)
 Object visit(JNEArrayInitializer node, Object data)
          JNEArrayInitializer default: visit(IJevaNode, Object)
 Object visit(JNEAssignmentExpression node, Object data)
          JNEAssignmentExpression default: visit(IExpressionNode, Object)
 Object visit(JNEAssignmentOperator node, Object data)
          JNEAssignmentOperator default: visit(IJevaNode, Object)
 Object visit(JNECastExpression node, Object data)
          JNECastExpression default: visit(IExpressionNode, Object)
 Object visit(JNEConditionalAndExpression node, Object data)
          JNEConditionalAndExpression default: visit(IExpressionNode, Object)
 Object visit(JNEConditionalExpression node, Object data)
          JNEConditionalExpression default: visit(IExpressionNode, Object)
 Object visit(JNEConditionalOrExpression node, Object data)
          JNEConditionalOrExpression default: visit(IExpressionNode, Object)
 Object visit(JNEEqualityExpression node, Object data)
          JNEEqualityExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEExclusiveOrExpression node, Object data)
          JNEExclusiveOrExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEInclusiveOrExpression node, Object data)
          JNEInclusiveOrExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEInstanceCreationExpression node, Object data)
          JNEInstanceCreationExpression default: visit(IExpressionNode, Object)
 Object visit(JNEInstanceOfExpression node, Object data)
          JNEInstanceOfExpression default: visit(IExpressionNode, Object)
 Object visit(JNELiteralExpression node, Object data)
          JNELiteralExpression default: visit(IExpressionNode, Object)
 Object visit(JNEMethodInvocationExpression node, Object data)
          JNEMethodInvocationExpression default: visit(IExpressionNode, Object)
 Object visit(JNEMultiplicativeExpression node, Object data)
          JNEMultiplicativeExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEParenthesizedExpression node, Object data)
          JNEParenthesizedExpression default: visit(IExpressionNode, Object)
 Object visit(JNEPostfixExpression node, Object data)
          JNEPostfixExpression default: visit(IExpressionNode, Object)
 Object visit(JNEPreDecrementExpression node, Object data)
          JNEPreDecrementExpression default: visit(IExpressionNode, Object)
 Object visit(JNEPreIncrementExpression node, Object data)
          JNEPreIncrementExpression default: visit(IExpressionNode, Object)
 Object visit(JNERelationalExpression node, Object data)
          JNERelationalExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEShiftExpression node, Object data)
          JNEShiftExpression default: visit(LeftAssociativeOperatorExpression, Object)
 Object visit(JNEUnaryExpression node, Object data)
          JNEUnaryExpression default: visit(IExpressionNode, Object)
 Object visit(JNFormalParameterList node, Object data)
          JNFormalParameterList default: visit(IJevaNode, Object)
 Object visit(JNFormalParameter node, Object data)
          JNFormalParameter default: visit(IJevaNode, Object)
 Object visit(JNNameList node, Object data)
          JNNameList default: visit(IJevaNode, Object)
 Object visit(JNName node, Object data)
          JNName default: visit(IExpressionNode, Object)
 Object visit(JNPrimitiveType node, Object data)
          JNPrimitiveType default: visit(IJevaNode, Object)
 Object visit(JNResultType node, Object data)
          JNResultType default: visit(IJevaNode, Object)
 Object visit(JNSBlock node, Object data)
          JNSBlock default: visit(IStatementNode, Object)
 Object visit(JNSBreakStatement node, Object data)
          JNSBreakStatement default: visit(IStatementNode, Object)
 Object visit(JNSContinueStatement node, Object data)
          JNSContinueStatement default: visit(IStatementNode, Object)
 Object visit(JNSDoStatement node, Object data)
          JNSDoStatement default: visit(IStatementNode, Object)
 Object visit(JNSEmptyStatement node, Object data)
          JNSEmptyStatement default: visit(IStatementNode, Object)
 Object visit(JNSExplicitConstructorInvocation node, Object data)
          JNSExplicitConstructorInvocation default: visit(IStatementNode, Object)
 Object visit(JNSExpressionStatementList node, Object data)
          JNSExpressionStatementList default: visit(IStatement, Object)
 Object visit(JNSExpressionStatement node, Object data)
          JNSExpressionStatement default: visit(IStatementNode, Object)
 Object visit(JNSForStatement node, Object data)
          JNSForStatement default: visit(IStatementNode, Object)
 Object visit(JNSIfStatement node, Object data)
          JNSIfStatement default: visit(IStatementNode, Object)
 Object visit(JNSLabeledStatement node, Object data)
          JNSLabeledStatement default: visit(IStatementNode, Object)
 Object visit(JNSLocalVariableDeclaration node, Object data)
          JNSLocalVariableDeclaration default: visit(IStatementNode, Object)
 Object visit(JNSReturnStatement node, Object data)
          JNSReturnStatement default: visit(IStatementNode, Object)
 Object visit(JNSSwitchLabel node, Object data)
          JNSSwitchLabel default: visit(Simple, Object)
 Object visit(JNSSwitchStatement node, Object data)
          JNSSwitchStatement default: visit(IStatementNode, Object)
 Object visit(JNSSynchronizedStatement node, Object data)
          JNSSynchronizedStatement default: visit(IStatementNode, Object)
 Object visit(JNSThrowStatement node, Object data)
          JNSThrowStatement default: visit(IStatementNode, Object)
 Object visit(JNSTryStatement node, Object data)
          JNSTryStatement default: visit(IStatementNode, Object)
 Object visit(JNSVariableDeclarator node, Object data)
          JNSVariableDeclarator default: visit(IJevaNode, Object)
 Object visit(JNSWhileStatement node, Object data)
          JNSWhileStatement default: visit(IStatementNode, Object)
 Object visit(JNType node, Object data)
          JNType default: visit(IJevaNode, Object)
protected  Object visit(LeftAssociativeOperatorExpression node, Object data)
          LeftAssociativeOperatorExpression: default calls visit(IExpressionNode, Object)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JevaVisitorBase

public JevaVisitorBase()
Method Detail

visit

public abstract Object visit(IJevaNode node,
                             Object data)
IJevaNode: root of type hiearchy; here subclasses must provide default for all nodes.
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNCompilationUnit node,
                    Object data)
JNCompilationUnit: default calls visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

protected Object visit(IDeclarationNode node,
                       Object data)
IDeclarationNode: default calls visit(IJevaNode, Object);

visit

public Object visit(JNDPackageDeclaration node,
                    Object data)
JNDPackageDeclaration: default calls visit(IDeclarationNode, Object);
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNDImportDeclaration node,
                    Object data)
JNDImportDeclaration default calls visit(IDeclarationNode, Object);
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNDClassDeclaration node,
                    Object data)
JNDClassDeclaration: if parent is JNCompilationUnit, default is to treat as IDeclarationNode. Otherwise parent is nested class (parent is JNDClassBody) or parent is anonymous class (parent is JNEInstanceCreation): default is to treat as IClassBodyDeclaration.
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNDClassBody node,
                    Object data)
JNDClassBody: default is to call visit(IJevaNode, Object);
Specified by:
visit in interface IJevaVisitor

visit

protected Object visit(IClassBodyDeclaration node,
                       Object data)
IClassBodyDeclaration: default calls visit(IJevaNode, Object)

visit

public Object visit(JNDFieldDeclaration node,
                    Object data)
JNDFieldDeclaration: default calls visit(IClassBodyDeclaration, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNDConstructorDeclaration node,
                    Object data)
JNDFieldDeclaration: default calls visit(IClassDeclaration, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNDMethodDeclaration node,
                    Object data)
JNDFieldDeclaration: default calls visit(IClassDeclaration, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNDInitializer node,
                    Object data)
JNDInitializer default: visit(IClassBodyDeclaration, Object)
Specified by:
visit in interface IJevaVisitor

visit

protected Object visit(IExpressionNode node,
                       Object data)
IExpressionNode: default calls visit(IJevaNode, Object)

visit

protected Object visit(LeftAssociativeOperatorExpression node,
                       Object data)
LeftAssociativeOperatorExpression: default calls visit(IExpressionNode, Object)

visit

public Object visit(JNEAdditiveExpression node,
                    Object data)
JNEAdditiveExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEAndExpression node,
                    Object data)
JNEAndExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEArrayAccessExpression node,
                    Object data)
JNEArrayAccessExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEArrayCreationExpression node,
                    Object data)
JNEArrayCreationExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEArrayDimensions node,
                    Object data)
JNEArrayDimensions default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEArrayInitializer node,
                    Object data)
JNEArrayInitializer default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEAssignmentExpression node,
                    Object data)
JNEAssignmentExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEAssignmentOperator node,
                    Object data)
JNEAssignmentOperator default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNECastExpression node,
                    Object data)
JNECastExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEConditionalAndExpression node,
                    Object data)
JNEConditionalAndExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEConditionalExpression node,
                    Object data)
JNEConditionalExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEConditionalOrExpression node,
                    Object data)
JNEConditionalOrExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEEqualityExpression node,
                    Object data)
JNEEqualityExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEExclusiveOrExpression node,
                    Object data)
JNEExclusiveOrExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEInclusiveOrExpression node,
                    Object data)
JNEInclusiveOrExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEInstanceCreationExpression node,
                    Object data)
JNEInstanceCreationExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEInstanceOfExpression node,
                    Object data)
JNEInstanceOfExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNELiteralExpression node,
                    Object data)
JNELiteralExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEMethodInvocationExpression node,
                    Object data)
JNEMethodInvocationExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEArguments node,
                    Object data)
JNEArguments default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEMultiplicativeExpression node,
                    Object data)
JNEMultiplicativeExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEParenthesizedExpression node,
                    Object data)
JNEParenthesizedExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEPostfixExpression node,
                    Object data)
JNEPostfixExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEPreDecrementExpression node,
                    Object data)
JNEPreDecrementExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEPreIncrementExpression node,
                    Object data)
JNEPreIncrementExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNERelationalExpression node,
                    Object data)
JNERelationalExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEShiftExpression node,
                    Object data)
JNEShiftExpression default: visit(LeftAssociativeOperatorExpression, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNEUnaryExpression node,
                    Object data)
JNEUnaryExpression default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNFormalParameter node,
                    Object data)
JNFormalParameter default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNFormalParameterList node,
                    Object data)
JNFormalParameterList default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNName node,
                    Object data)
JNName default: visit(IExpressionNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNNameList node,
                    Object data)
JNNameList default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

protected Object visit(IStatementNode node,
                       Object data)
IStatementNode default: visit(IJevaNode, Object)

visit

public Object visit(JNSBlock node,
                    Object data)
JNSBlock default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSBreakStatement node,
                    Object data)
JNSBreakStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSContinueStatement node,
                    Object data)
JNSContinueStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSDoStatement node,
                    Object data)
JNSDoStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSEmptyStatement node,
                    Object data)
JNSEmptyStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSExplicitConstructorInvocation node,
                    Object data)
JNSExplicitConstructorInvocation default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSExpressionStatement node,
                    Object data)
JNSExpressionStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSExpressionStatementList node,
                    Object data)
JNSExpressionStatementList default: visit(IStatement, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSForStatement node,
                    Object data)
JNSForStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSIfStatement node,
                    Object data)
JNSIfStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSLabeledStatement node,
                    Object data)
JNSLabeledStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSLocalVariableDeclaration node,
                    Object data)
JNSLocalVariableDeclaration default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSReturnStatement node,
                    Object data)
JNSReturnStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSSwitchLabel node,
                    Object data)
JNSSwitchLabel default: visit(Simple, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSSwitchStatement node,
                    Object data)
JNSSwitchStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSSynchronizedStatement node,
                    Object data)
JNSSynchronizedStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSThrowStatement node,
                    Object data)
JNSThrowStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSTryStatement node,
                    Object data)
JNSTryStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSVariableDeclarator node,
                    Object data)
JNSVariableDeclarator default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNSWhileStatement node,
                    Object data)
JNSWhileStatement default: visit(IStatementNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNType node,
                    Object data)
JNType default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNPrimitiveType node,
                    Object data)
JNPrimitiveType default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

visit

public Object visit(JNResultType node,
                    Object data)
JNResultType default: visit(IJevaNode, Object)
Specified by:
visit in interface IJevaVisitor

Copyright (c) 1996-1999
Massachusetts Institute of Technology

Feedback: jeva-feedback@ai.mit.edu