|
||||||||||
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
at.dms.kjc.SLIRReplacingVisitor
at.dms.kjc.common.RemoveUnusedVars
public class RemoveUnusedVars
Class to remove unused variables from the IR. Unused variables are defined as vars that are never used, only def'ed and only if the defs do not have any side effects.
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 |
Method Summary | |
---|---|
protected Object |
doBinaryExpression(JBinaryExpression self,
JExpression left,
JExpression right)
this is a private method for visiting binary expressions |
static void |
doit(FlatNode node)
Remove dead variables from all code in |
static void |
doit(SIRFilter filter)
|
Object |
getVariable(Object access)
|
Object |
visitAssignmentExpression(JAssignmentExpression self,
JExpression left,
JExpression right)
prints an assignment expression |
Object |
visitExpressionStatement(JExpressionStatement self,
JExpression expr)
prints an expression statement |
void |
visitFilter(SIRFilter filter)
|
void |
visitNode(FlatNode node)
The visitor must define this method that will be called once on each FlatNode that is down stream of the accepting node. |
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 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static void doit(FlatNode node)
node
- The top level flatnode.public static void doit(SIRFilter filter)
public void visitNode(FlatNode node)
FlatVisitor
visitNode
in interface FlatVisitor
node
- the node that is being currently visited.public void visitFilter(SIRFilter filter)
public Object visitAssignmentExpression(JAssignmentExpression self, JExpression left, JExpression right)
ReplacingVisitor
visitAssignmentExpression
in interface AttributeVisitor<Object>
visitAssignmentExpression
in class ReplacingVisitor
public Object getVariable(Object access)
public Object visitExpressionStatement(JExpressionStatement self, JExpression expr)
visitExpressionStatement
in interface AttributeVisitor<Object>
visitExpressionStatement
in class ReplacingVisitor
public Object visitVariableDeclarationStatement(JVariableDeclarationStatement self, JVariableDefinition[] vars)
visitVariableDeclarationStatement
in interface AttributeVisitor<Object>
visitVariableDeclarationStatement
in class ReplacingVisitor
public Object visitVariableDefinition(JVariableDefinition self, int modifiers, CType type, String ident, JExpression expr)
visitVariableDefinition
in interface AttributeVisitor<Object>
visitVariableDefinition
in class ReplacingVisitor
protected Object doBinaryExpression(JBinaryExpression self, JExpression left, JExpression right)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |