|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectat.dms.kjc.EmptyAttributeVisitor
at.dms.kjc.ReplacingVisitor
public class ReplacingVisitor
This class descends through the tree, and tests if any of the returned STATEMENTS or EXPRESSIONS are different from old ones in the tree. If a difference is detected, then the new statement is substituted for the original. It would be desirable to extend this class so that it's a complete replacing visitor--i.e., it also replaces everything else that is modified in the tree. However, this would be kind of tedious and we haven't had need for it yet--but it you end up needing that code, let's put it in here instead of in a class that's specific to some compiler pass.
| Field Summary |
|---|
| Fields inherited from class at.dms.kjc.EmptyAttributeVisitor |
|---|
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 |
| Constructor Summary | |
|---|---|
ReplacingVisitor()
Creates a new one of these. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ReplacingVisitor()
| Method Detail |
|---|
public Object visitLabeledStatement(JLabeledStatement self,
String label,
JStatement stmt)
visitLabeledStatement in interface AttributeVisitor<Object>visitLabeledStatement in class EmptyAttributeVisitor
public Object visitIfStatement(JIfStatement self,
JExpression cond,
JStatement thenClause,
JStatement elseClause)
visitIfStatement in interface AttributeVisitor<Object>visitIfStatement in class EmptyAttributeVisitor
public Object visitCompoundStatement(JCompoundStatement self,
JStatement[] body)
visitCompoundStatement in interface AttributeVisitor<Object>visitCompoundStatement in class EmptyAttributeVisitor
public Object visitDoStatement(JDoStatement self,
JExpression cond,
JStatement body)
visitDoStatement in interface AttributeVisitor<Object>visitDoStatement in class EmptyAttributeVisitor
public Object visitBlockStatement(JBlock self,
JavaStyleComment[] comments)
visitBlockStatement in interface AttributeVisitor<Object>visitBlockStatement in class EmptyAttributeVisitor
public Object visitSwitchGroup(JSwitchGroup self,
JSwitchLabel[] labels,
JStatement[] stmts)
visitSwitchGroup in interface AttributeVisitor<Object>visitSwitchGroup in class EmptyAttributeVisitor
public Object visitForStatement(JForStatement self,
JStatement init,
JExpression cond,
JStatement incr,
JStatement body)
visitForStatement in interface AttributeVisitor<Object>visitForStatement in class EmptyAttributeVisitor
public Object visitFieldDeclaration(JFieldDeclaration self,
int modifiers,
CType type,
String ident,
JExpression expr)
visitFieldDeclaration in interface AttributeVisitor<Object>visitFieldDeclaration in class EmptyAttributeVisitor
public Object visitWhileStatement(JWhileStatement self,
JExpression cond,
JStatement body)
visitWhileStatement in interface AttributeVisitor<Object>visitWhileStatement in class EmptyAttributeVisitor
public Object visitVariableDeclarationStatement(JVariableDeclarationStatement self,
JVariableDefinition[] vars)
visitVariableDeclarationStatement in interface AttributeVisitor<Object>visitVariableDeclarationStatement in class EmptyAttributeVisitor
public Object visitVariableDefinition(JVariableDefinition self,
int modifiers,
CType type,
String ident,
JExpression expr)
visitVariableDefinition in interface AttributeVisitor<Object>visitVariableDefinition in class EmptyAttributeVisitor
public Object visitThrowStatement(JThrowStatement self,
JExpression expr)
visitThrowStatement in interface AttributeVisitor<Object>visitThrowStatement in class EmptyAttributeVisitor
public Object visitSynchronizedStatement(JSynchronizedStatement self,
JExpression cond,
JStatement body)
visitSynchronizedStatement in interface AttributeVisitor<Object>visitSynchronizedStatement in class EmptyAttributeVisitor
public Object visitSwitchStatement(JSwitchStatement self,
JExpression expr,
JSwitchGroup[] body)
visitSwitchStatement in interface AttributeVisitor<Object>visitSwitchStatement in class EmptyAttributeVisitor
public Object visitReturnStatement(JReturnStatement self,
JExpression expr)
visitReturnStatement in interface AttributeVisitor<Object>visitReturnStatement in class EmptyAttributeVisitor
public Object visitExpressionStatement(JExpressionStatement self,
JExpression expr)
visitExpressionStatement in interface AttributeVisitor<Object>visitExpressionStatement in class EmptyAttributeVisitor
public Object visitExpressionListStatement(JExpressionListStatement self,
JExpression[] expr)
visitExpressionListStatement in interface AttributeVisitor<Object>visitExpressionListStatement in class EmptyAttributeVisitor
public Object visitUnaryPlusExpression(JUnaryExpression self,
JExpression expr)
visitUnaryPlusExpression in interface AttributeVisitor<Object>visitUnaryPlusExpression in class EmptyAttributeVisitor
public Object visitUnaryMinusExpression(JUnaryExpression self,
JExpression expr)
visitUnaryMinusExpression in interface AttributeVisitor<Object>visitUnaryMinusExpression in class EmptyAttributeVisitor
public Object visitBitwiseComplementExpression(JUnaryExpression self,
JExpression expr)
visitBitwiseComplementExpression in interface AttributeVisitor<Object>visitBitwiseComplementExpression in class EmptyAttributeVisitor
public Object visitLogicalComplementExpression(JUnaryExpression self,
JExpression expr)
visitLogicalComplementExpression in interface AttributeVisitor<Object>visitLogicalComplementExpression in class EmptyAttributeVisitor
public Object visitThisExpression(JThisExpression self,
JExpression prefix)
visitThisExpression in interface AttributeVisitor<Object>visitThisExpression in class EmptyAttributeVisitor
public Object visitShiftExpression(JShiftExpression self,
int oper,
JExpression left,
JExpression right)
visitShiftExpression in interface AttributeVisitor<Object>visitShiftExpression in class EmptyAttributeVisitor
public Object visitRelationalExpression(JRelationalExpression self,
int oper,
JExpression left,
JExpression right)
visitRelationalExpression in interface AttributeVisitor<Object>visitRelationalExpression in class EmptyAttributeVisitor
public Object visitPrefixExpression(JPrefixExpression self,
int oper,
JExpression expr)
visitPrefixExpression in interface AttributeVisitor<Object>visitPrefixExpression in class EmptyAttributeVisitor
public Object visitPostfixExpression(JPostfixExpression self,
int oper,
JExpression expr)
visitPostfixExpression in interface AttributeVisitor<Object>visitPostfixExpression in class EmptyAttributeVisitor
public Object visitParenthesedExpression(JParenthesedExpression self,
JExpression expr)
visitParenthesedExpression in interface AttributeVisitor<Object>visitParenthesedExpression in class EmptyAttributeVisitor
public Object visitQualifiedAnonymousCreation(JQualifiedAnonymousCreation self,
JExpression prefix,
String ident,
JExpression[] params,
JClassDeclaration decl)
visitQualifiedAnonymousCreation in interface AttributeVisitor<Object>visitQualifiedAnonymousCreation in class EmptyAttributeVisitor
public Object visitQualifiedInstanceCreation(JQualifiedInstanceCreation self,
JExpression prefix,
String ident,
JExpression[] params)
visitQualifiedInstanceCreation in interface AttributeVisitor<Object>visitQualifiedInstanceCreation in class EmptyAttributeVisitor
public Object visitFormalParameters(JFormalParameter self,
boolean isFinal,
CType type,
String ident)
visitFormalParameters in interface AttributeVisitor<Object>visitFormalParameters in class EmptyAttributeVisitorpublic Object visitArgs(JExpression[] args)
visitArgs in class EmptyAttributeVisitor
public Object visitNewArrayExpression(JNewArrayExpression self,
CType type,
JExpression[] dims,
JArrayInitializer init)
visitNewArrayExpression in interface AttributeVisitor<Object>visitNewArrayExpression in class EmptyAttributeVisitor
public Object visitNameExpression(JNameExpression self,
JExpression prefix,
String ident)
visitNameExpression in interface AttributeVisitor<Object>visitNameExpression in class EmptyAttributeVisitor
public Object visitBinaryExpression(JBinaryExpression self,
String oper,
JExpression left,
JExpression right)
visitBinaryExpression in interface AttributeVisitor<Object>visitBinaryExpression in class EmptyAttributeVisitor
public Object visitMethodCallExpression(JMethodCallExpression self,
JExpression prefix,
String ident,
JExpression[] args)
visitMethodCallExpression in interface AttributeVisitor<Object>visitMethodCallExpression in class EmptyAttributeVisitor
public Object visitInstanceofExpression(JInstanceofExpression self,
JExpression expr,
CType dest)
visitInstanceofExpression in interface AttributeVisitor<Object>visitInstanceofExpression in class EmptyAttributeVisitor
public Object visitEqualityExpression(JEqualityExpression self,
boolean equal,
JExpression left,
JExpression right)
visitEqualityExpression in interface AttributeVisitor<Object>visitEqualityExpression in class EmptyAttributeVisitor
public Object visitConditionalExpression(JConditionalExpression self,
JExpression cond,
JExpression left,
JExpression right)
visitConditionalExpression in interface AttributeVisitor<Object>visitConditionalExpression in class EmptyAttributeVisitor
public Object visitCompoundAssignmentExpression(JCompoundAssignmentExpression self,
int oper,
JExpression left,
JExpression right)
visitCompoundAssignmentExpression in interface AttributeVisitor<Object>visitCompoundAssignmentExpression in class EmptyAttributeVisitor
public Object visitFieldExpression(JFieldAccessExpression self,
JExpression left,
String ident)
visitFieldExpression in interface AttributeVisitor<Object>visitFieldExpression in class EmptyAttributeVisitor
public Object visitCastExpression(JCastExpression self,
JExpression expr,
CType type)
visitCastExpression in interface AttributeVisitor<Object>visitCastExpression in class EmptyAttributeVisitor
public Object visitUnaryPromoteExpression(JUnaryPromote self,
JExpression expr,
CType type)
visitUnaryPromoteExpression in interface AttributeVisitor<Object>visitUnaryPromoteExpression in class EmptyAttributeVisitor
public Object visitBitwiseExpression(JBitwiseExpression self,
int oper,
JExpression left,
JExpression right)
visitBitwiseExpression in interface AttributeVisitor<Object>visitBitwiseExpression in class EmptyAttributeVisitor
public Object visitAssignmentExpression(JAssignmentExpression self,
JExpression left,
JExpression right)
visitAssignmentExpression in interface AttributeVisitor<Object>visitAssignmentExpression in class EmptyAttributeVisitor
public Object visitArrayLengthExpression(JArrayLengthExpression self,
JExpression prefix)
visitArrayLengthExpression in interface AttributeVisitor<Object>visitArrayLengthExpression in class EmptyAttributeVisitor
public Object visitArrayAccessExpression(JArrayAccessExpression self,
JExpression prefix,
JExpression accessor)
visitArrayAccessExpression in interface AttributeVisitor<Object>visitArrayAccessExpression in class EmptyAttributeVisitor
public Object visitEmittedTextExpression(JEmittedTextExpression self,
Object[] parts)
visitEmittedTextExpression in interface AttributeVisitor<Object>visitEmittedTextExpression in class EmptyAttributeVisitorparts - a list of embedded objects which might include JExpressions.
public Object visitSwitchLabel(JSwitchLabel self,
JExpression expr)
visitSwitchLabel in interface AttributeVisitor<Object>visitSwitchLabel in class EmptyAttributeVisitor
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||