at.dms.kjc
Class ExpressionVisitorBase<S,T>

java.lang.Object
  extended by at.dms.kjc.ExpressionVisitorBase<S,T>
All Implemented Interfaces:
ExpressionVisitor<S,T>
Direct Known Subclasses:
ThreeAddressExpressionCheck

public class ExpressionVisitorBase<S,T>
extends Object
implements ExpressionVisitor<S,T>

Implementation of ExpressionVisitor, implements all methods by asserting false. Can be set to redispatch to combined visit for superclass before failing.
$Id$

Author:
Allyn Dimock

Field Summary
protected  boolean redispatchBinary
           
protected  boolean redispatchBinaryArithmetic
           
protected  boolean redispatchLiteral
           
protected  boolean redispatchUnary
           
 
Constructor Summary
ExpressionVisitorBase()
           
 
Method Summary
 void collectBinary(boolean tf)
          Collect visits to subtypes of JBinaryExpression into visitBinary.
 void collectBinaryArithetic(boolean tf)
          Collect visits to subtypes of JBinaryArithmeticExpression into visitBinaryArithmetic.
 void collectLiteral(boolean tf)
          Collect visits to subtypes of JLiteral into visitLiteral
 void collectUnary(boolean tf)
          Collect visits to subtypes of JUnary into visitUnary
 S visitAdd(JAddExpression self, T otherData)
           
 S visitArrayAccess(JArrayAccessExpression self, T otherData)
           
 S visitArrayInitializer(JArrayInitializer self, T otherData)
           
 S visitArrayLength(JArrayLengthExpression self, T otherData)
           
 S visitAssignment(JAssignmentExpression self, T otherData)
           
 S visitBinary(JBinaryExpression self, T otherData)
           
 S visitBinaryArithmetic(JBinaryArithmeticExpression self, T otherData)
           
 S visitBitwise(JBitwiseExpression self, T otherData)
           
 S visitBitwiseComplement(JBitwiseComplementExpression self, T otherData)
           
 S visitBooleanLiteral(JBooleanLiteral self, T otherData)
           
 S visitByteLiteral(JByteLiteral self, T otherData)
           
 S visitCast(JCastExpression self, T otherData)
           
 S visitCharLiteral(JCharLiteral self, T otherData)
           
 S visitChecked(JCheckedExpression self, T otherData)
           
 S visitClass(JClassExpression self, T otherData)
           
 S visitCompoundAssignment(JCompoundAssignmentExpression self, T otherData)
           
 S visitConditional(JConditionalExpression self, T otherData)
           
 S visitConditionalAnd(JConditionalAndExpression self, T otherData)
           
 S visitConditionalOr(JConditionalOrExpression self, T otherData)
           
 S visitConstructorCall(JConstructorCall self, T otherData)
           
 S visitCreatePortal(SIRCreatePortal self, T otherData)
           
 S visitDivide(JDivideExpression self, T otherData)
           
 S visitDoubleLiteral(JDoubleLiteral self, T otherData)
           
 S visitDynamicToken(SIRDynamicToken self, T otherData)
           
 S visitEmittedText(JEmittedTextExpression self, T otherData)
           
 S visitEquality(JEqualityExpression self, T otherData)
           
 S visitFieldAccess(JFieldAccessExpression self, T otherData)
           
 S visitFloatLiteral(JFloatLiteral self, T otherData)
           
 S visitInstanceof(JInstanceofExpression self, T otherData)
           
 S visitInterfaceTable(SIRInterfaceTable self, T otherData)
           
 S visitIntLiteral(JIntLiteral self, T otherData)
           
 S visitLiteral(JLiteral self, T otherData)
           
 S visitLocalVariable(JLocalVariableExpression self, T otherData)
           
 S visitLogicalComplement(JLogicalComplementExpression self, T otherData)
           
 S visitLongLiteral(JLongLiteral self, T otherData)
           
 S visitMethodCall(JMethodCallExpression self, T otherData)
           
 S visitMinus(JMinusExpression self, T otherData)
           
 S visitModulo(JModuloExpression self, T otherData)
           
 S visitMult(JMultExpression self, T otherData)
           
 S visitName(JNameExpression self, T otherData)
           
 S visitNewArray(JNewArrayExpression self, T otherData)
           
 S visitNullLiteral(JNullLiteral self, T otherData)
           
 S visitParenthesed(JParenthesedExpression self, T otherData)
           
 S visitPeek(SIRPeekExpression self, T otherData)
           
 S visitPop(SIRPopExpression self, T otherData)
           
 S visitPortal(SIRPortal self, T otherData)
           
 S visitPostfix(JPostfixExpression self, T otherData)
           
 S visitPrefix(JPrefixExpression self, T otherData)
           
 S visitPush(SIRPushExpression self, T otherData)
           
 S visitQualifiedAnonymousCreation(JQualifiedAnonymousCreation self, T otherData)
           
 S visitQualifiedInstanceCreation(JQualifiedInstanceCreation self, T otherData)
           
 S visitRange(SIRRangeExpression self, T otherData)
           
 S visitRelational(JRelationalExpression self, T otherData)
           
 S visitShift(JShiftExpression self, T otherData)
           
 S visitShortLiteral(JShortLiteral self, T otherData)
           
 S visitStringLiteral(JStringLiteral self, T otherData)
           
 S visitSuper(JSuperExpression self, T otherData)
           
 S visitThis(JThisExpression self, T otherData)
           
 S visitTypeName(JTypeNameExpression self, T otherData)
           
 S visitUnary(JUnaryExpression self, T otherData)
           
 S visitUnaryMinus(JUnaryMinusExpression self, T otherData)
           
 S visitUnaryPlus(JUnaryPlusExpression self, T otherData)
           
 S visitUnaryPromote(JUnaryPromote self, T otherData)
           
 S visitUnqualifiedAnonymousCreation(JUnqualifiedAnonymousCreation self, T otherData)
           
 S visitUnqualifiedInstanceCreation(JUnqualifiedInstanceCreation self, T otherData)
           
 S visitVectorLiteral(JVectorLiteral self, T otherData)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

redispatchBinary

protected boolean redispatchBinary

redispatchBinaryArithmetic

protected boolean redispatchBinaryArithmetic

redispatchLiteral

protected boolean redispatchLiteral

redispatchUnary

protected boolean redispatchUnary
Constructor Detail

ExpressionVisitorBase

public ExpressionVisitorBase()
Method Detail

collectBinary

public void collectBinary(boolean tf)
Collect visits to subtypes of JBinaryExpression into visitBinary.

Parameters:
tf - true to use visitBinary for subtypes of JBinaryExpression

collectBinaryArithetic

public void collectBinaryArithetic(boolean tf)
Collect visits to subtypes of JBinaryArithmeticExpression into visitBinaryArithmetic. calling collectBinary(true) will cause use of visitBinary instead.

Parameters:
tf - true to use visitBinary for subtypes of JBinaryArithmeticExpression

collectLiteral

public void collectLiteral(boolean tf)
Collect visits to subtypes of JLiteral into visitLiteral

Parameters:
tf - true to use visitLiteral for subtypes of JLiteral

collectUnary

public void collectUnary(boolean tf)
Collect visits to subtypes of JUnary into visitUnary

Parameters:
tf - true to use visitUnary for subtypes of JUnary

visitAdd

public S visitAdd(JAddExpression self,
                  T otherData)
Specified by:
visitAdd in interface ExpressionVisitor<S,T>

visitArrayAccess

public S visitArrayAccess(JArrayAccessExpression self,
                          T otherData)
Specified by:
visitArrayAccess in interface ExpressionVisitor<S,T>

visitArrayInitializer

public S visitArrayInitializer(JArrayInitializer self,
                               T otherData)
Specified by:
visitArrayInitializer in interface ExpressionVisitor<S,T>

visitArrayLength

public S visitArrayLength(JArrayLengthExpression self,
                          T otherData)
Specified by:
visitArrayLength in interface ExpressionVisitor<S,T>

visitAssignment

public S visitAssignment(JAssignmentExpression self,
                         T otherData)
Specified by:
visitAssignment in interface ExpressionVisitor<S,T>

visitBinary

public S visitBinary(JBinaryExpression self,
                     T otherData)
Specified by:
visitBinary in interface ExpressionVisitor<S,T>

visitBinaryArithmetic

public S visitBinaryArithmetic(JBinaryArithmeticExpression self,
                               T otherData)
Specified by:
visitBinaryArithmetic in interface ExpressionVisitor<S,T>

visitBitwise

public S visitBitwise(JBitwiseExpression self,
                      T otherData)
Specified by:
visitBitwise in interface ExpressionVisitor<S,T>

visitBitwiseComplement

public S visitBitwiseComplement(JBitwiseComplementExpression self,
                                T otherData)
Specified by:
visitBitwiseComplement in interface ExpressionVisitor<S,T>

visitBooleanLiteral

public S visitBooleanLiteral(JBooleanLiteral self,
                             T otherData)
Specified by:
visitBooleanLiteral in interface ExpressionVisitor<S,T>

visitByteLiteral

public S visitByteLiteral(JByteLiteral self,
                          T otherData)
Specified by:
visitByteLiteral in interface ExpressionVisitor<S,T>

visitCast

public S visitCast(JCastExpression self,
                   T otherData)
Specified by:
visitCast in interface ExpressionVisitor<S,T>

visitCharLiteral

public S visitCharLiteral(JCharLiteral self,
                          T otherData)
Specified by:
visitCharLiteral in interface ExpressionVisitor<S,T>

visitChecked

public S visitChecked(JCheckedExpression self,
                      T otherData)
Specified by:
visitChecked in interface ExpressionVisitor<S,T>

visitClass

public S visitClass(JClassExpression self,
                    T otherData)
Specified by:
visitClass in interface ExpressionVisitor<S,T>

visitCompoundAssignment

public S visitCompoundAssignment(JCompoundAssignmentExpression self,
                                 T otherData)
Specified by:
visitCompoundAssignment in interface ExpressionVisitor<S,T>

visitConditional

public S visitConditional(JConditionalExpression self,
                          T otherData)
Specified by:
visitConditional in interface ExpressionVisitor<S,T>

visitConditionalAnd

public S visitConditionalAnd(JConditionalAndExpression self,
                             T otherData)
Specified by:
visitConditionalAnd in interface ExpressionVisitor<S,T>

visitConditionalOr

public S visitConditionalOr(JConditionalOrExpression self,
                            T otherData)
Specified by:
visitConditionalOr in interface ExpressionVisitor<S,T>

visitConstructorCall

public S visitConstructorCall(JConstructorCall self,
                              T otherData)
Specified by:
visitConstructorCall in interface ExpressionVisitor<S,T>

visitCreatePortal

public S visitCreatePortal(SIRCreatePortal self,
                           T otherData)
Specified by:
visitCreatePortal in interface ExpressionVisitor<S,T>

visitDivide

public S visitDivide(JDivideExpression self,
                     T otherData)
Specified by:
visitDivide in interface ExpressionVisitor<S,T>

visitDoubleLiteral

public S visitDoubleLiteral(JDoubleLiteral self,
                            T otherData)
Specified by:
visitDoubleLiteral in interface ExpressionVisitor<S,T>

visitDynamicToken

public S visitDynamicToken(SIRDynamicToken self,
                           T otherData)
Specified by:
visitDynamicToken in interface ExpressionVisitor<S,T>

visitEquality

public S visitEquality(JEqualityExpression self,
                       T otherData)
Specified by:
visitEquality in interface ExpressionVisitor<S,T>

visitFieldAccess

public S visitFieldAccess(JFieldAccessExpression self,
                          T otherData)
Specified by:
visitFieldAccess in interface ExpressionVisitor<S,T>

visitFloatLiteral

public S visitFloatLiteral(JFloatLiteral self,
                           T otherData)
Specified by:
visitFloatLiteral in interface ExpressionVisitor<S,T>

visitInstanceof

public S visitInstanceof(JInstanceofExpression self,
                         T otherData)
Specified by:
visitInstanceof in interface ExpressionVisitor<S,T>

visitIntLiteral

public S visitIntLiteral(JIntLiteral self,
                         T otherData)
Specified by:
visitIntLiteral in interface ExpressionVisitor<S,T>

visitInterfaceTable

public S visitInterfaceTable(SIRInterfaceTable self,
                             T otherData)
Specified by:
visitInterfaceTable in interface ExpressionVisitor<S,T>

visitLiteral

public S visitLiteral(JLiteral self,
                      T otherData)
Specified by:
visitLiteral in interface ExpressionVisitor<S,T>

visitLocalVariable

public S visitLocalVariable(JLocalVariableExpression self,
                            T otherData)
Specified by:
visitLocalVariable in interface ExpressionVisitor<S,T>

visitLogicalComplement

public S visitLogicalComplement(JLogicalComplementExpression self,
                                T otherData)
Specified by:
visitLogicalComplement in interface ExpressionVisitor<S,T>

visitLongLiteral

public S visitLongLiteral(JLongLiteral self,
                          T otherData)
Specified by:
visitLongLiteral in interface ExpressionVisitor<S,T>

visitMethodCall

public S visitMethodCall(JMethodCallExpression self,
                         T otherData)
Specified by:
visitMethodCall in interface ExpressionVisitor<S,T>

visitMinus

public S visitMinus(JMinusExpression self,
                    T otherData)
Specified by:
visitMinus in interface ExpressionVisitor<S,T>

visitModulo

public S visitModulo(JModuloExpression self,
                     T otherData)
Specified by:
visitModulo in interface ExpressionVisitor<S,T>

visitMult

public S visitMult(JMultExpression self,
                   T otherData)
Specified by:
visitMult in interface ExpressionVisitor<S,T>

visitName

public S visitName(JNameExpression self,
                   T otherData)
Specified by:
visitName in interface ExpressionVisitor<S,T>

visitNewArray

public S visitNewArray(JNewArrayExpression self,
                       T otherData)
Specified by:
visitNewArray in interface ExpressionVisitor<S,T>

visitNullLiteral

public S visitNullLiteral(JNullLiteral self,
                          T otherData)
Specified by:
visitNullLiteral in interface ExpressionVisitor<S,T>

visitParenthesed

public S visitParenthesed(JParenthesedExpression self,
                          T otherData)
Specified by:
visitParenthesed in interface ExpressionVisitor<S,T>

visitPeek

public S visitPeek(SIRPeekExpression self,
                   T otherData)
Specified by:
visitPeek in interface ExpressionVisitor<S,T>

visitPop

public S visitPop(SIRPopExpression self,
                  T otherData)
Specified by:
visitPop in interface ExpressionVisitor<S,T>

visitPortal

public S visitPortal(SIRPortal self,
                     T otherData)
Specified by:
visitPortal in interface ExpressionVisitor<S,T>

visitPostfix

public S visitPostfix(JPostfixExpression self,
                      T otherData)
Specified by:
visitPostfix in interface ExpressionVisitor<S,T>

visitPrefix

public S visitPrefix(JPrefixExpression self,
                     T otherData)
Specified by:
visitPrefix in interface ExpressionVisitor<S,T>

visitPush

public S visitPush(SIRPushExpression self,
                   T otherData)
Specified by:
visitPush in interface ExpressionVisitor<S,T>

visitQualifiedAnonymousCreation

public S visitQualifiedAnonymousCreation(JQualifiedAnonymousCreation self,
                                         T otherData)
Specified by:
visitQualifiedAnonymousCreation in interface ExpressionVisitor<S,T>

visitQualifiedInstanceCreation

public S visitQualifiedInstanceCreation(JQualifiedInstanceCreation self,
                                        T otherData)
Specified by:
visitQualifiedInstanceCreation in interface ExpressionVisitor<S,T>

visitRange

public S visitRange(SIRRangeExpression self,
                    T otherData)
Specified by:
visitRange in interface ExpressionVisitor<S,T>

visitRelational

public S visitRelational(JRelationalExpression self,
                         T otherData)
Specified by:
visitRelational in interface ExpressionVisitor<S,T>

visitShift

public S visitShift(JShiftExpression self,
                    T otherData)
Specified by:
visitShift in interface ExpressionVisitor<S,T>

visitShortLiteral

public S visitShortLiteral(JShortLiteral self,
                           T otherData)
Specified by:
visitShortLiteral in interface ExpressionVisitor<S,T>

visitStringLiteral

public S visitStringLiteral(JStringLiteral self,
                            T otherData)
Specified by:
visitStringLiteral in interface ExpressionVisitor<S,T>

visitSuper

public S visitSuper(JSuperExpression self,
                    T otherData)
Specified by:
visitSuper in interface ExpressionVisitor<S,T>

visitThis

public S visitThis(JThisExpression self,
                   T otherData)
Specified by:
visitThis in interface ExpressionVisitor<S,T>

visitTypeName

public S visitTypeName(JTypeNameExpression self,
                       T otherData)
Specified by:
visitTypeName in interface ExpressionVisitor<S,T>

visitUnary

public S visitUnary(JUnaryExpression self,
                    T otherData)
Specified by:
visitUnary in interface ExpressionVisitor<S,T>

visitUnaryMinus

public S visitUnaryMinus(JUnaryMinusExpression self,
                         T otherData)
Specified by:
visitUnaryMinus in interface ExpressionVisitor<S,T>

visitUnaryPlus

public S visitUnaryPlus(JUnaryPlusExpression self,
                        T otherData)
Specified by:
visitUnaryPlus in interface ExpressionVisitor<S,T>

visitUnaryPromote

public S visitUnaryPromote(JUnaryPromote self,
                           T otherData)
Specified by:
visitUnaryPromote in interface ExpressionVisitor<S,T>

visitUnqualifiedAnonymousCreation

public S visitUnqualifiedAnonymousCreation(JUnqualifiedAnonymousCreation self,
                                           T otherData)
Specified by:
visitUnqualifiedAnonymousCreation in interface ExpressionVisitor<S,T>

visitUnqualifiedInstanceCreation

public S visitUnqualifiedInstanceCreation(JUnqualifiedInstanceCreation self,
                                          T otherData)
Specified by:
visitUnqualifiedInstanceCreation in interface ExpressionVisitor<S,T>

visitVectorLiteral

public S visitVectorLiteral(JVectorLiteral self,
                            T otherData)
Specified by:
visitVectorLiteral in interface ExpressionVisitor<S,T>

visitEmittedText

public S visitEmittedText(JEmittedTextExpression self,
                          T otherData)
Specified by:
visitEmittedText in interface ExpressionVisitor<S,T>