at.dms.kjc
Class EmptyAttributeVisitor

java.lang.Object
  extended by at.dms.kjc.EmptyAttributeVisitor
All Implemented Interfaces:
Constants, AttributeVisitor<Object>
Direct Known Subclasses:
ReplacingVisitor, SLIREmptyAttributeVisitor

public class EmptyAttributeVisitor
extends Object
implements Constants, AttributeVisitor<Object>

This is a visitor that just recurses into children at every node and returns that node. It can be extended to do some mutation at a given node. Suggested from: Max R. Andersen(max@cs.auc.dk)


Field Summary
protected  boolean forwards
           
 
Fields inherited from interface at.dms.kjc.Constants
CMP_VERSION, JAV_CLASS, JAV_CLONE, JAV_CLONEABLE, JAV_CONSTRUCTOR, JAV_ERROR, JAV_EXCEPTION, JAV_INIT, JAV_LENGTH, JAV_NAME_SEPARATOR, JAV_OBJECT, JAV_OUTER_THIS, JAV_RUNTIME, JAV_RUNTIME_EXCEPTION, JAV_STATIC_INIT, JAV_STRING, JAV_STRINGBUFFER, JAV_THIS, JAV_THROWABLE, OPE_BAND, OPE_BNOT, OPE_BOR, OPE_BSR, OPE_BXOR, OPE_EQ, OPE_GE, OPE_GT, OPE_LE, OPE_LNOT, OPE_LT, OPE_MINUS, OPE_NE, OPE_PERCENT, OPE_PLUS, OPE_POSTDEC, OPE_POSTINC, OPE_PREDEC, OPE_PREINC, OPE_SIMPLE, OPE_SL, OPE_SLASH, OPE_SR, OPE_STAR, TID_ARRAY, TID_BIT, TID_BOOLEAN, TID_BYTE, TID_CHAR, TID_CLASS, TID_DOUBLE, TID_FLOAT, TID_INT, TID_LONG, TID_SHORT, TID_VECTOR, TID_VOID, VECTOR_EMPTY
 
Fields inherited from interface at.dms.classfile.Constants
ACC_ABSTRACT, ACC_FINAL, ACC_INLINE, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_TRANSIENT, ACC_VOLATILE, ATT_CODE, ATT_CONSTANTVALUE, ATT_DEPRECATED, ATT_EXCEPTIONS, ATT_GENERIC, ATT_INNERCLASSES, ATT_LINENUMBERTABLE, ATT_LOCALVARIABLETABLE, ATT_SOURCEFILE, ATT_SYNTHETIC, CST_CLASS, CST_DOUBLE, CST_FIELD, CST_FLOAT, CST_INTEGER, CST_INTERFACEMETHOD, CST_LONG, CST_METHOD, CST_NAMEANDTYPE, CST_STRING, CST_UTF8, ENV_DEBUG_MODE, ENV_USE_CACHE, JAVA_MAGIC, JAVA_MAJOR, JAVA_MINOR, MAX_CODE_PER_METHOD, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, POO_ASCII_CONSTANT, POO_CLASS_CONSTANT, POO_DOUBLE_CONSTANT, POO_FLOAT_CONSTANT, POO_INTEGER_CONSTANT, POO_LONG_CONSTANT, POO_NAT_CONSTANT, POO_REF_CONSTANT, POO_STRING_CONSTANT, TYP_ADDRESS, TYP_DOUBLE, TYP_FLOAT, TYP_INT, TYP_LONG, TYP_REFERENCE, TYP_VOID
 
Constructor Summary
EmptyAttributeVisitor()
           
 
Method Summary
 Object visitArgs(JExpression[] args)
          prints an array length expression
 Object visitArrayAccessExpression(JArrayAccessExpression self, JExpression prefix, JExpression accessor)
          prints an array length expression
 Object visitArrayInitializer(JArrayInitializer self, JExpression[] elems)
          prints an array initializer expression
 Object visitArrayLengthExpression(JArrayLengthExpression self, JExpression prefix)
          prints an array length expression
 Object visitAssignmentExpression(JAssignmentExpression self, JExpression left, JExpression right)
          prints an assignment expression
 Object visitBinaryExpression(JBinaryExpression self, String oper, JExpression left, JExpression right)
          prints an array allocator expression
 Object visitBitwiseComplementExpression(JUnaryExpression self, JExpression expr)
          prints a bitwise complement expression
 Object visitBitwiseExpression(JBitwiseExpression self, int oper, JExpression left, JExpression right)
          prints a compound assignment expression
 Object visitBlockStatement(JBlock self, JavaStyleComment[] comments)
          prints an expression statement
 Object visitBooleanLiteral(JBooleanLiteral self, boolean value)
          visits a boolean literal
 Object visitBreakStatement(JBreakStatement self, String label)
          prints a break statement
 Object visitByteLiteral(JByteLiteral self, byte value)
          visits a byte literal
 Object visitCastExpression(JCastExpression self, JExpression expr, CType type)
          prints a cast expression
 Object visitCatchClause(JCatchClause self, JFormalParameter exception, JBlock body)
          visits a catch clause
 Object visitCharLiteral(JCharLiteral self, char value)
          visits a character literal
 Object visitClassBody(JTypeDeclaration[] decls, JFieldDeclaration[] fields, JMethodDeclaration[] methods, JPhylum[] body)
          visits a class body
 Object visitClassDeclaration(JClassDeclaration self, int modifiers, String ident, String superName, CClassType[] interfaces, JPhylum[] body, JFieldDeclaration[] fields, JMethodDeclaration[] methods, JTypeDeclaration[] decls)
          prints a class declaration
 Object visitClassExpression(JClassExpression self, CType type)
          prints a class expression
 Object visitClassImport(String name)
          prints an array length expression
 Object visitComment(JavaStyleComment self)
          prints an array length expression
 Object visitComments(JavaStyleComment[] self)
          prints an array length expression
 Object visitCompilationUnit(JCompilationUnit self, JPackageName packageName, JPackageImport[] importedPackages, JClassImport[] importedClasses, JTypeDeclaration[] typeDeclarations)
          prints a compilation unit
 Object visitCompoundAssignmentExpression(JCompoundAssignmentExpression self, int oper, JExpression left, JExpression right)
          prints a compound expression
 Object visitCompoundStatement(JCompoundStatement self, JStatement[] body)
          prints a compound statement
 Object visitConditionalExpression(JConditionalExpression self, JExpression cond, JExpression left, JExpression right)
          prints a conditional expression
 Object visitConstructorCall(JConstructorCall self, boolean functorIsThis, JExpression[] params)
          prints an array length expression
 Object visitConstructorDeclaration(JConstructorDeclaration self, int modifiers, String ident, JFormalParameter[] parameters, CClassType[] exceptions, JConstructorBlock body)
          prints a method declaration
 Object visitContinueStatement(JContinueStatement self, String label)
          prints a continue statement
 Object visitDoStatement(JDoStatement self, JExpression cond, JStatement body)
          prints a do statement
 Object visitDoubleLiteral(JDoubleLiteral self, double value)
          visits a double literal
 Object visitEmittedTextExpression(JEmittedTextExpression self, Object[] parts)
          visiting emitted text with possible embedded expressions.
 Object visitEmptyStatement(JEmptyStatement self)
          prints a empty statement
 Object visitEqualityExpression(JEqualityExpression self, boolean equal, JExpression left, JExpression right)
          prints an equality expression
 Object visitExpressionListStatement(JExpressionListStatement self, JExpression[] expr)
          prints an expression list statement
 Object visitExpressionStatement(JExpressionStatement self, JExpression expr)
          prints an expression statement
 Object visitFieldDeclaration(JFieldDeclaration self, int modifiers, CType type, String ident, JExpression expr)
          prints a field declaration
 Object visitFieldExpression(JFieldAccessExpression self, JExpression left, String ident)
          prints a field expression
 Object visitFloatLiteral(JFloatLiteral self, float value)
          visits a float literal
 Object visitFormalParameters(JFormalParameter self, boolean isFinal, CType type, String ident)
          prints an array length expression
 Object visitForStatement(JForStatement self, JStatement init, JExpression cond, JStatement incr, JStatement body)
          prints a for statement
 Object visitIfStatement(JIfStatement self, JExpression cond, JStatement thenClause, JStatement elseClause)
          prints a if statement
 Object visitInnerClassDeclaration(JClassDeclaration self, int modifiers, String ident, String superName, CClassType[] interfaces, JTypeDeclaration[] decls, JPhylum[] body, JFieldDeclaration[] fields, JMethodDeclaration[] methods)
          prints a class declaration
 Object visitInstanceofExpression(JInstanceofExpression self, JExpression expr, CType dest)
          prints an instanceof expression
 Object visitInterfaceDeclaration(JInterfaceDeclaration self, int modifiers, String ident, CClassType[] interfaces, JPhylum[] body, JMethodDeclaration[] methods)
          prints an interface declaration
 Object visitIntLiteral(JIntLiteral self, int value)
          visits a int literal
 Object visitJavadoc(JavadocComment self)
          prints an array length expression
 Object visitLabeledStatement(JLabeledStatement self, String label, JStatement stmt)
          prints a labeled statement
 Object visitLocalVariableExpression(JLocalVariableExpression self, String ident)
          prints a local variable expression
 Object visitLogicalComplementExpression(JUnaryExpression self, JExpression expr)
          prints a logical complement expression
 Object visitLongLiteral(JLongLiteral self, long value)
          visits a long literal
 Object visitMethodCallExpression(JMethodCallExpression self, JExpression prefix, String ident, JExpression[] args)
          prints a method call expression
 Object visitMethodDeclaration(JMethodDeclaration self, int modifiers, CType returnType, String ident, JFormalParameter[] parameters, CClassType[] exceptions, JBlock body)
          prints a method declaration
 Object visitNameExpression(JNameExpression self, JExpression prefix, String ident)
          prints a name expression
 Object visitNewArrayExpression(JNewArrayExpression self, CType type, JExpression[] dims, JArrayInitializer init)
          prints an array allocator expression
 Object visitNullLiteral(JNullLiteral self)
          visits a null literal
 Object visitPackageImport(String name)
          prints an array length expression
 Object visitPackageName(String name)
          prints an array length expression
 Object visitParenthesedExpression(JParenthesedExpression self, JExpression expr)
          prints a parenthesed expression
 Object visitPostfixExpression(JPostfixExpression self, int oper, JExpression expr)
          prints a postfix expression
 Object visitPrefixExpression(JPrefixExpression self, int oper, JExpression expr)
          prints a prefix expression
 Object visitQualifiedAnonymousCreation(JQualifiedAnonymousCreation self, JExpression prefix, String ident, JExpression[] params, JClassDeclaration decl)
          Prints an unqualified anonymous class instance creation expression.
 Object visitQualifiedInstanceCreation(JQualifiedInstanceCreation self, JExpression prefix, String ident, JExpression[] params)
          Prints an unqualified instance creation expression.
 Object visitRelationalExpression(JRelationalExpression self, int oper, JExpression left, JExpression right)
          prints a shift expressiona
 Object visitReturnStatement(JReturnStatement self, JExpression expr)
          prints a return statement
 Object visitShiftExpression(JShiftExpression self, int oper, JExpression left, JExpression right)
          prints a shift expression
 Object visitShortLiteral(JShortLiteral self, short value)
          visits a short literal
 Object visitStringLiteral(JStringLiteral self, String value)
          visits a string literal
 Object visitSuperExpression(JSuperExpression self)
          prints a super expression
 Object visitSwitchGroup(JSwitchGroup self, JSwitchLabel[] labels, JStatement[] stmts)
          visits a switch group
 Object visitSwitchLabel(JSwitchLabel self, JExpression expr)
          visits an switch label
 Object visitSwitchStatement(JSwitchStatement self, JExpression expr, JSwitchGroup[] body)
          prints a switch statement
 Object visitSynchronizedStatement(JSynchronizedStatement self, JExpression cond, JStatement body)
          prints a synchronized statement
 Object visitThisExpression(JThisExpression self, JExpression prefix)
          prints a this expression
 Object visitThrowStatement(JThrowStatement self, JExpression expr)
          prints a throw statement
 Object visitTryCatchStatement(JTryCatchStatement self, JBlock tryClause, JCatchClause[] catchClauses)
          prints a try-catch statement
 Object visitTryFinallyStatement(JTryFinallyStatement self, JBlock tryClause, JBlock finallyClause)
          prints a try-finally statement
 Object visitTypeDeclarationStatement(JTypeDeclarationStatement self, JTypeDeclaration decl)
          prints a type declaration statement
 Object visitTypeNameExpression(JTypeNameExpression self, CType type)
          prints a type name expression
 Object visitUnaryMinusExpression(JUnaryExpression self, JExpression expr)
          prints an unary minus expression
 Object visitUnaryPlusExpression(JUnaryExpression self, JExpression expr)
          prints an unary plus expression
 Object visitUnaryPromoteExpression(JUnaryPromote self, JExpression expr, CType type)
          prints a cast expression
 Object visitUnqualifiedAnonymousCreation(JUnqualifiedAnonymousCreation self, CClassType type, JExpression[] params, JClassDeclaration decl)
          Prints an unqualified anonymous class instance creation expression.
 Object visitUnqualifiedInstanceCreation(JUnqualifiedInstanceCreation self, CClassType type, JExpression[] params)
          Prints an unqualified instance creation expression.
 Object visitVariableDeclarationStatement(JVariableDeclarationStatement self, JVariableDefinition[] vars)
          prints a variable declaration statement
 Object visitVariableDefinition(JVariableDefinition self, int modifiers, CType type, String ident, JExpression expr)
          prints a variable declaration statement
 Object visitWhileStatement(JWhileStatement self, JExpression cond, JStatement body)
          prints a while statement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

forwards

protected boolean forwards
Constructor Detail

EmptyAttributeVisitor

public EmptyAttributeVisitor()
Method Detail

visitCompilationUnit

public Object visitCompilationUnit(JCompilationUnit self,
                                   JPackageName packageName,
                                   JPackageImport[] importedPackages,
                                   JClassImport[] importedClasses,
                                   JTypeDeclaration[] typeDeclarations)
prints a compilation unit

Specified by:
visitCompilationUnit in interface AttributeVisitor<Object>

visitClassDeclaration

public Object visitClassDeclaration(JClassDeclaration self,
                                    int modifiers,
                                    String ident,
                                    String superName,
                                    CClassType[] interfaces,
                                    JPhylum[] body,
                                    JFieldDeclaration[] fields,
                                    JMethodDeclaration[] methods,
                                    JTypeDeclaration[] decls)
prints a class declaration

Specified by:
visitClassDeclaration in interface AttributeVisitor<Object>

visitClassBody

public Object visitClassBody(JTypeDeclaration[] decls,
                             JFieldDeclaration[] fields,
                             JMethodDeclaration[] methods,
                             JPhylum[] body)
Description copied from interface: AttributeVisitor
visits a class body

Specified by:
visitClassBody in interface AttributeVisitor<Object>

visitInnerClassDeclaration

public Object visitInnerClassDeclaration(JClassDeclaration self,
                                         int modifiers,
                                         String ident,
                                         String superName,
                                         CClassType[] interfaces,
                                         JTypeDeclaration[] decls,
                                         JPhylum[] body,
                                         JFieldDeclaration[] fields,
                                         JMethodDeclaration[] methods)
prints a class declaration

Specified by:
visitInnerClassDeclaration in interface AttributeVisitor<Object>

visitInterfaceDeclaration

public Object visitInterfaceDeclaration(JInterfaceDeclaration self,
                                        int modifiers,
                                        String ident,
                                        CClassType[] interfaces,
                                        JPhylum[] body,
                                        JMethodDeclaration[] methods)
prints an interface declaration

Specified by:
visitInterfaceDeclaration in interface AttributeVisitor<Object>

visitFieldDeclaration

public Object visitFieldDeclaration(JFieldDeclaration self,
                                    int modifiers,
                                    CType type,
                                    String ident,
                                    JExpression expr)
prints a field declaration

Specified by:
visitFieldDeclaration in interface AttributeVisitor<Object>

visitMethodDeclaration

public Object visitMethodDeclaration(JMethodDeclaration self,
                                     int modifiers,
                                     CType returnType,
                                     String ident,
                                     JFormalParameter[] parameters,
                                     CClassType[] exceptions,
                                     JBlock body)
prints a method declaration

Specified by:
visitMethodDeclaration in interface AttributeVisitor<Object>

visitConstructorDeclaration

public Object visitConstructorDeclaration(JConstructorDeclaration self,
                                          int modifiers,
                                          String ident,
                                          JFormalParameter[] parameters,
                                          CClassType[] exceptions,
                                          JConstructorBlock body)
prints a method declaration

Specified by:
visitConstructorDeclaration in interface AttributeVisitor<Object>

visitWhileStatement

public Object visitWhileStatement(JWhileStatement self,
                                  JExpression cond,
                                  JStatement body)
prints a while statement

Specified by:
visitWhileStatement in interface AttributeVisitor<Object>

visitVariableDeclarationStatement

public Object visitVariableDeclarationStatement(JVariableDeclarationStatement self,
                                                JVariableDefinition[] vars)
prints a variable declaration statement

Specified by:
visitVariableDeclarationStatement in interface AttributeVisitor<Object>

visitVariableDefinition

public Object visitVariableDefinition(JVariableDefinition self,
                                      int modifiers,
                                      CType type,
                                      String ident,
                                      JExpression expr)
prints a variable declaration statement

Specified by:
visitVariableDefinition in interface AttributeVisitor<Object>

visitTryCatchStatement

public Object visitTryCatchStatement(JTryCatchStatement self,
                                     JBlock tryClause,
                                     JCatchClause[] catchClauses)
prints a try-catch statement

Specified by:
visitTryCatchStatement in interface AttributeVisitor<Object>

visitTryFinallyStatement

public Object visitTryFinallyStatement(JTryFinallyStatement self,
                                       JBlock tryClause,
                                       JBlock finallyClause)
prints a try-finally statement

Specified by:
visitTryFinallyStatement in interface AttributeVisitor<Object>

visitThrowStatement

public Object visitThrowStatement(JThrowStatement self,
                                  JExpression expr)
prints a throw statement

Specified by:
visitThrowStatement in interface AttributeVisitor<Object>

visitSynchronizedStatement

public Object visitSynchronizedStatement(JSynchronizedStatement self,
                                         JExpression cond,
                                         JStatement body)
prints a synchronized statement

Specified by:
visitSynchronizedStatement in interface AttributeVisitor<Object>

visitSwitchStatement

public Object visitSwitchStatement(JSwitchStatement self,
                                   JExpression expr,
                                   JSwitchGroup[] body)
prints a switch statement

Specified by:
visitSwitchStatement in interface AttributeVisitor<Object>

visitReturnStatement

public Object visitReturnStatement(JReturnStatement self,
                                   JExpression expr)
prints a return statement

Specified by:
visitReturnStatement in interface AttributeVisitor<Object>

visitLabeledStatement

public Object visitLabeledStatement(JLabeledStatement self,
                                    String label,
                                    JStatement stmt)
prints a labeled statement

Specified by:
visitLabeledStatement in interface AttributeVisitor<Object>

visitIfStatement

public Object visitIfStatement(JIfStatement self,
                               JExpression cond,
                               JStatement thenClause,
                               JStatement elseClause)
prints a if statement

Specified by:
visitIfStatement in interface AttributeVisitor<Object>

visitForStatement

public Object visitForStatement(JForStatement self,
                                JStatement init,
                                JExpression cond,
                                JStatement incr,
                                JStatement body)
prints a for statement

Specified by:
visitForStatement in interface AttributeVisitor<Object>

visitCompoundStatement

public Object visitCompoundStatement(JCompoundStatement self,
                                     JStatement[] body)
prints a compound statement

Specified by:
visitCompoundStatement in interface AttributeVisitor<Object>

visitExpressionStatement

public Object visitExpressionStatement(JExpressionStatement self,
                                       JExpression expr)
prints an expression statement

Specified by:
visitExpressionStatement in interface AttributeVisitor<Object>

visitExpressionListStatement

public Object visitExpressionListStatement(JExpressionListStatement self,
                                           JExpression[] expr)
prints an expression list statement

Specified by:
visitExpressionListStatement in interface AttributeVisitor<Object>

visitEmptyStatement

public Object visitEmptyStatement(JEmptyStatement self)
prints a empty statement

Specified by:
visitEmptyStatement in interface AttributeVisitor<Object>

visitDoStatement

public Object visitDoStatement(JDoStatement self,
                               JExpression cond,
                               JStatement body)
prints a do statement

Specified by:
visitDoStatement in interface AttributeVisitor<Object>

visitContinueStatement

public Object visitContinueStatement(JContinueStatement self,
                                     String label)
prints a continue statement

Specified by:
visitContinueStatement in interface AttributeVisitor<Object>

visitBreakStatement

public Object visitBreakStatement(JBreakStatement self,
                                  String label)
prints a break statement

Specified by:
visitBreakStatement in interface AttributeVisitor<Object>

visitBlockStatement

public Object visitBlockStatement(JBlock self,
                                  JavaStyleComment[] comments)
prints an expression statement

Specified by:
visitBlockStatement in interface AttributeVisitor<Object>

visitTypeDeclarationStatement

public Object visitTypeDeclarationStatement(JTypeDeclarationStatement self,
                                            JTypeDeclaration decl)
prints a type declaration statement

Specified by:
visitTypeDeclarationStatement in interface AttributeVisitor<Object>

visitUnaryPlusExpression

public Object visitUnaryPlusExpression(JUnaryExpression self,
                                       JExpression expr)
prints an unary plus expression

Specified by:
visitUnaryPlusExpression in interface AttributeVisitor<Object>

visitUnaryMinusExpression

public Object visitUnaryMinusExpression(JUnaryExpression self,
                                        JExpression expr)
prints an unary minus expression

Specified by:
visitUnaryMinusExpression in interface AttributeVisitor<Object>

visitBitwiseComplementExpression

public Object visitBitwiseComplementExpression(JUnaryExpression self,
                                               JExpression expr)
prints a bitwise complement expression

Specified by:
visitBitwiseComplementExpression in interface AttributeVisitor<Object>

visitLogicalComplementExpression

public Object visitLogicalComplementExpression(JUnaryExpression self,
                                               JExpression expr)
prints a logical complement expression

Specified by:
visitLogicalComplementExpression in interface AttributeVisitor<Object>

visitTypeNameExpression

public Object visitTypeNameExpression(JTypeNameExpression self,
                                      CType type)
prints a type name expression

Specified by:
visitTypeNameExpression in interface AttributeVisitor<Object>

visitThisExpression

public Object visitThisExpression(JThisExpression self,
                                  JExpression prefix)
prints a this expression

Specified by:
visitThisExpression in interface AttributeVisitor<Object>

visitSuperExpression

public Object visitSuperExpression(JSuperExpression self)
prints a super expression

Specified by:
visitSuperExpression in interface AttributeVisitor<Object>

visitShiftExpression

public Object visitShiftExpression(JShiftExpression self,
                                   int oper,
                                   JExpression left,
                                   JExpression right)
prints a shift expression

Specified by:
visitShiftExpression in interface AttributeVisitor<Object>

visitRelationalExpression

public Object visitRelationalExpression(JRelationalExpression self,
                                        int oper,
                                        JExpression left,
                                        JExpression right)
prints a shift expressiona

Specified by:
visitRelationalExpression in interface AttributeVisitor<Object>

visitPrefixExpression

public Object visitPrefixExpression(JPrefixExpression self,
                                    int oper,
                                    JExpression expr)
prints a prefix expression

Specified by:
visitPrefixExpression in interface AttributeVisitor<Object>

visitPostfixExpression

public Object visitPostfixExpression(JPostfixExpression self,
                                     int oper,
                                     JExpression expr)
prints a postfix expression

Specified by:
visitPostfixExpression in interface AttributeVisitor<Object>

visitParenthesedExpression

public Object visitParenthesedExpression(JParenthesedExpression self,
                                         JExpression expr)
prints a parenthesed expression

Specified by:
visitParenthesedExpression in interface AttributeVisitor<Object>

visitQualifiedAnonymousCreation

public Object visitQualifiedAnonymousCreation(JQualifiedAnonymousCreation self,
                                              JExpression prefix,
                                              String ident,
                                              JExpression[] params,
                                              JClassDeclaration decl)
Prints an unqualified anonymous class instance creation expression.

Specified by:
visitQualifiedAnonymousCreation in interface AttributeVisitor<Object>

visitQualifiedInstanceCreation

public Object visitQualifiedInstanceCreation(JQualifiedInstanceCreation self,
                                             JExpression prefix,
                                             String ident,
                                             JExpression[] params)
Prints an unqualified instance creation expression.

Specified by:
visitQualifiedInstanceCreation in interface AttributeVisitor<Object>

visitUnqualifiedAnonymousCreation

public Object visitUnqualifiedAnonymousCreation(JUnqualifiedAnonymousCreation self,
                                                CClassType type,
                                                JExpression[] params,
                                                JClassDeclaration decl)
Prints an unqualified anonymous class instance creation expression.

Specified by:
visitUnqualifiedAnonymousCreation in interface AttributeVisitor<Object>

visitUnqualifiedInstanceCreation

public Object visitUnqualifiedInstanceCreation(JUnqualifiedInstanceCreation self,
                                               CClassType type,
                                               JExpression[] params)
Prints an unqualified instance creation expression.

Specified by:
visitUnqualifiedInstanceCreation in interface AttributeVisitor<Object>

visitNewArrayExpression

public Object visitNewArrayExpression(JNewArrayExpression self,
                                      CType type,
                                      JExpression[] dims,
                                      JArrayInitializer init)
prints an array allocator expression

Specified by:
visitNewArrayExpression in interface AttributeVisitor<Object>

visitNameExpression

public Object visitNameExpression(JNameExpression self,
                                  JExpression prefix,
                                  String ident)
prints a name expression

Specified by:
visitNameExpression in interface AttributeVisitor<Object>

visitBinaryExpression

public Object visitBinaryExpression(JBinaryExpression self,
                                    String oper,
                                    JExpression left,
                                    JExpression right)
prints an array allocator expression

Specified by:
visitBinaryExpression in interface AttributeVisitor<Object>

visitMethodCallExpression

public Object visitMethodCallExpression(JMethodCallExpression self,
                                        JExpression prefix,
                                        String ident,
                                        JExpression[] args)
prints a method call expression

Specified by:
visitMethodCallExpression in interface AttributeVisitor<Object>

visitLocalVariableExpression

public Object visitLocalVariableExpression(JLocalVariableExpression self,
                                           String ident)
prints a local variable expression

Specified by:
visitLocalVariableExpression in interface AttributeVisitor<Object>

visitInstanceofExpression

public Object visitInstanceofExpression(JInstanceofExpression self,
                                        JExpression expr,
                                        CType dest)
prints an instanceof expression

Specified by:
visitInstanceofExpression in interface AttributeVisitor<Object>

visitEqualityExpression

public Object visitEqualityExpression(JEqualityExpression self,
                                      boolean equal,
                                      JExpression left,
                                      JExpression right)
prints an equality expression

Specified by:
visitEqualityExpression in interface AttributeVisitor<Object>

visitConditionalExpression

public Object visitConditionalExpression(JConditionalExpression self,
                                         JExpression cond,
                                         JExpression left,
                                         JExpression right)
prints a conditional expression

Specified by:
visitConditionalExpression in interface AttributeVisitor<Object>

visitCompoundAssignmentExpression

public Object visitCompoundAssignmentExpression(JCompoundAssignmentExpression self,
                                                int oper,
                                                JExpression left,
                                                JExpression right)
prints a compound expression

Specified by:
visitCompoundAssignmentExpression in interface AttributeVisitor<Object>

visitFieldExpression

public Object visitFieldExpression(JFieldAccessExpression self,
                                   JExpression left,
                                   String ident)
prints a field expression

Specified by:
visitFieldExpression in interface AttributeVisitor<Object>

visitClassExpression

public Object visitClassExpression(JClassExpression self,
                                   CType type)
prints a class expression

Specified by:
visitClassExpression in interface AttributeVisitor<Object>

visitCastExpression

public Object visitCastExpression(JCastExpression self,
                                  JExpression expr,
                                  CType type)
prints a cast expression

Specified by:
visitCastExpression in interface AttributeVisitor<Object>

visitUnaryPromoteExpression

public Object visitUnaryPromoteExpression(JUnaryPromote self,
                                          JExpression expr,
                                          CType type)
prints a cast expression

Specified by:
visitUnaryPromoteExpression in interface AttributeVisitor<Object>

visitBitwiseExpression

public Object visitBitwiseExpression(JBitwiseExpression self,
                                     int oper,
                                     JExpression left,
                                     JExpression right)
prints a compound assignment expression

Specified by:
visitBitwiseExpression in interface AttributeVisitor<Object>

visitAssignmentExpression

public Object visitAssignmentExpression(JAssignmentExpression self,
                                        JExpression left,
                                        JExpression right)
prints an assignment expression

Specified by:
visitAssignmentExpression in interface AttributeVisitor<Object>

visitArrayLengthExpression

public Object visitArrayLengthExpression(JArrayLengthExpression self,
                                         JExpression prefix)
prints an array length expression

Specified by:
visitArrayLengthExpression in interface AttributeVisitor<Object>

visitArrayAccessExpression

public Object visitArrayAccessExpression(JArrayAccessExpression self,
                                         JExpression prefix,
                                         JExpression accessor)
prints an array length expression

Specified by:
visitArrayAccessExpression in interface AttributeVisitor<Object>

visitEmittedTextExpression

public Object visitEmittedTextExpression(JEmittedTextExpression self,
                                         Object[] parts)
visiting emitted text with possible embedded expressions.

Specified by:
visitEmittedTextExpression in interface AttributeVisitor<Object>
parts - a list of embedded objects which might include JExpressions.

visitComments

public Object visitComments(JavaStyleComment[] self)
prints an array length expression

Specified by:
visitComments in interface AttributeVisitor<Object>

visitComment

public Object visitComment(JavaStyleComment self)
prints an array length expression

Specified by:
visitComment in interface AttributeVisitor<Object>

visitJavadoc

public Object visitJavadoc(JavadocComment self)
prints an array length expression

Specified by:
visitJavadoc in interface AttributeVisitor<Object>

visitSwitchLabel

public Object visitSwitchLabel(JSwitchLabel self,
                               JExpression expr)
visits an switch label

Specified by:
visitSwitchLabel in interface AttributeVisitor<Object>

visitSwitchGroup

public Object visitSwitchGroup(JSwitchGroup self,
                               JSwitchLabel[] labels,
                               JStatement[] stmts)
visits a switch group

Specified by:
visitSwitchGroup in interface AttributeVisitor<Object>

visitCatchClause

public Object visitCatchClause(JCatchClause self,
                               JFormalParameter exception,
                               JBlock body)
visits a catch clause

Specified by:
visitCatchClause in interface AttributeVisitor<Object>

visitBooleanLiteral

public Object visitBooleanLiteral(JBooleanLiteral self,
                                  boolean value)
visits a boolean literal

Specified by:
visitBooleanLiteral in interface AttributeVisitor<Object>

visitByteLiteral

public Object visitByteLiteral(JByteLiteral self,
                               byte value)
visits a byte literal

Specified by:
visitByteLiteral in interface AttributeVisitor<Object>

visitCharLiteral

public Object visitCharLiteral(JCharLiteral self,
                               char value)
visits a character literal

Specified by:
visitCharLiteral in interface AttributeVisitor<Object>

visitDoubleLiteral

public Object visitDoubleLiteral(JDoubleLiteral self,
                                 double value)
visits a double literal

Specified by:
visitDoubleLiteral in interface AttributeVisitor<Object>

visitFloatLiteral

public Object visitFloatLiteral(JFloatLiteral self,
                                float value)
visits a float literal

Specified by:
visitFloatLiteral in interface AttributeVisitor<Object>

visitIntLiteral

public Object visitIntLiteral(JIntLiteral self,
                              int value)
visits a int literal

Specified by:
visitIntLiteral in interface AttributeVisitor<Object>

visitLongLiteral

public Object visitLongLiteral(JLongLiteral self,
                               long value)
visits a long literal

Specified by:
visitLongLiteral in interface AttributeVisitor<Object>

visitShortLiteral

public Object visitShortLiteral(JShortLiteral self,
                                short value)
visits a short literal

Specified by:
visitShortLiteral in interface AttributeVisitor<Object>

visitStringLiteral

public Object visitStringLiteral(JStringLiteral self,
                                 String value)
visits a string literal

Specified by:
visitStringLiteral in interface AttributeVisitor<Object>

visitNullLiteral

public Object visitNullLiteral(JNullLiteral self)
visits a null literal

Specified by:
visitNullLiteral in interface AttributeVisitor<Object>

visitPackageName

public Object visitPackageName(String name)
prints an array length expression

Specified by:
visitPackageName in interface AttributeVisitor<Object>

visitPackageImport

public Object visitPackageImport(String name)
prints an array length expression

Specified by:
visitPackageImport in interface AttributeVisitor<Object>

visitClassImport

public Object visitClassImport(String name)
prints an array length expression

Specified by:
visitClassImport in interface AttributeVisitor<Object>

visitFormalParameters

public Object visitFormalParameters(JFormalParameter self,
                                    boolean isFinal,
                                    CType type,
                                    String ident)
prints an array length expression

Specified by:
visitFormalParameters in interface AttributeVisitor<Object>

visitArgs

public Object visitArgs(JExpression[] args)
prints an array length expression


visitConstructorCall

public Object visitConstructorCall(JConstructorCall self,
                                   boolean functorIsThis,
                                   JExpression[] params)
prints an array length expression

Specified by:
visitConstructorCall in interface AttributeVisitor<Object>

visitArrayInitializer

public Object visitArrayInitializer(JArrayInitializer self,
                                    JExpression[] elems)
prints an array initializer expression

Specified by:
visitArrayInitializer in interface AttributeVisitor<Object>