|
Jode 1.90-CVS Build Aug 6, 2004 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.jode.expr.Expression
net.sf.jode.expr.Operator
Field Summary | |
static int |
ADD_OP
|
static int |
AND_OP
|
static int |
ASSIGN_OP
|
static int |
COMPARE_OP
|
static int |
DEC_OP
|
static int |
EQUALS_OP
|
static int |
GREATER_OP
|
static int |
GREATEREQ_OP
|
static int |
INC_OP
|
static int |
LESS_OP
|
static int |
LESSEQ_OP
|
static int |
LOG_AND_OP
|
static int |
LOG_NOT_OP
|
static int |
LOG_OR_OP
|
static int |
NEG_OP
|
static int |
NOTEQUALS_OP
|
static int |
OPASSIGN_OP
|
protected int |
operatorIndex
|
static int |
SHIFT_OP
|
static int |
SUB_OP
|
Fields inherited from class net.sf.jode.expr.Expression |
EMPTYSTRING, type |
Constructor Summary | |
Operator(Type type)
|
|
Operator(Type type,
int op)
|
Method Summary | |
Expression |
addOperand(Expression op)
|
int |
canCombine(CombineableOperator combOp)
Checks if the given Expression (which must be a CombineableOperator) can be combined into this expression. |
Expression |
combine(CombineableOperator comb)
Combines the given Expression (which should be a StoreInstruction) into this expression. |
boolean |
containsConflictingLoad(MatchableOperator op)
Checks if this expression contains a conflicting load, that matches the given CombineableOperator. |
boolean |
containsMatchingLoad(CombineableOperator comb)
Checks if this expression contains a matching load, that matches the given Expression. |
abstract void |
dumpExpression(TabbedPrintWriter writer)
|
boolean |
equals(java.lang.Object o)
|
void |
fillDeclarables(java.util.Collection used)
|
void |
fillInGenSet(java.util.Collection in,
java.util.Collection gen)
|
int |
getFreeOperandCount()
Get the number of operands. |
Operator |
getOperator()
|
int |
getOperatorIndex()
|
java.lang.String |
getOperatorString()
|
Expression[] |
getSubExpressions()
|
boolean |
hasSideEffects(Expression expr)
Checks if the value of the given expression can change, due to side effects in this expression. |
void |
initOperands(int opcount)
|
boolean |
isConstant()
|
boolean |
isFreeOperator()
Tells if this is an operator, that doesn't have any subExpression, yet. |
boolean |
isFreeOperator(int opcount)
Tells if this is an operator, that doesn't have any subExpression, yet, and that expects opcount operands |
void |
makeDeclaration(java.util.Set done)
|
boolean |
opEquals(Operator o)
|
void |
setOperatorIndex(int op)
|
void |
setSubExpressions(int i,
Expression expr)
|
Expression |
simplify()
|
boolean |
subsEquals(Operator other)
|
Methods inherited from class net.sf.jode.expr.Expression |
dumpExpression, dumpExpression, getBreakPenalty, getParent, getPriority, getType, isVoid, makeInitializer, negate, removeOnetimeLocals, setType, simplifyString, simplifyStringBuffer, toString, updateParentType, updateSubTypes, updateType |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int ADD_OP
public static final int SUB_OP
public static final int SHIFT_OP
public static final int AND_OP
public static final int ASSIGN_OP
public static final int OPASSIGN_OP
public static final int INC_OP
public static final int DEC_OP
public static final int COMPARE_OP
public static final int EQUALS_OP
public static final int NOTEQUALS_OP
public static final int LESS_OP
public static final int GREATEREQ_OP
public static final int GREATER_OP
public static final int LESSEQ_OP
public static final int LOG_AND_OP
public static final int LOG_OR_OP
public static final int LOG_NOT_OP
public static final int NEG_OP
protected int operatorIndex
Constructor Detail |
public Operator(Type type)
public Operator(Type type, int op)
Method Detail |
public void initOperands(int opcount)
public int getFreeOperandCount()
Expression
getFreeOperandCount
in class Expression
public boolean isFreeOperator()
public boolean isFreeOperator(int opcount)
public Expression addOperand(Expression op)
addOperand
in class Expression
public Operator getOperator()
public Expression[] getSubExpressions()
public void setSubExpressions(int i, Expression expr)
public int getOperatorIndex()
public void setOperatorIndex(int op)
public java.lang.String getOperatorString()
public boolean opEquals(Operator o)
public Expression simplify()
simplify
in class Expression
public void fillInGenSet(java.util.Collection in, java.util.Collection gen)
fillInGenSet
in class Expression
public void fillDeclarables(java.util.Collection used)
fillDeclarables
in class Expression
public void makeDeclaration(java.util.Set done)
makeDeclaration
in class Expression
public boolean hasSideEffects(Expression expr)
hasSideEffects
in class Expression
expr
- the expression that should not change.public boolean containsConflictingLoad(MatchableOperator op)
containsConflictingLoad
in class Expression
op
- The combineable operator.
public boolean containsMatchingLoad(CombineableOperator comb)
containsMatchingLoad
in class Expression
comb
- The store expression.
ClassCastException,
- if e.getOperator
is not a CombineableOperator.public int canCombine(CombineableOperator combOp)
canCombine
in class Expression
ClassCastException,
- if e.getOperator
is not a CombineableOperator.public Expression combine(CombineableOperator comb)
combine
in class Expression
ClassCastException,
- if e.getOperator
is not a CombineableOperator.public boolean subsEquals(Operator other)
public boolean equals(java.lang.Object o)
public boolean isConstant()
isConstant
in class Expression
public abstract void dumpExpression(TabbedPrintWriter writer) throws java.io.IOException
dumpExpression
in class Expression
java.io.IOException
|
Jode 1.90-CVS Build Aug 6, 2004 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |