net.sf.jode.expr
Class CheckNullOperator
java.lang.Object
net.sf.jode.expr.Expression
net.sf.jode.expr.Operator
net.sf.jode.expr.CheckNullOperator
- public class CheckNullOperator
- extends Operator
This is a pseudo operator, which represents the check against null
that jikes and javac generates for inner classes:
outer.new Inner()
is translated by javac to
new Outer$Inner(outer ((void) DUP.getClass()));
and by jikes to
new Outer$Inner(outer (DUP == null ? throw null));
Fields inherited from class net.sf.jode.expr.Operator |
ADD_OP, AND_OP, ASSIGN_OP, COMPARE_OP, DEC_OP, EQUALS_OP, GREATER_OP, GREATEREQ_OP, INC_OP, LESS_OP, LESSEQ_OP, LOG_AND_OP, LOG_NOT_OP, LOG_OR_OP, NEG_OP, NOTEQUALS_OP, OPASSIGN_OP, operatorIndex, SHIFT_OP, SUB_OP |
Methods inherited from class net.sf.jode.expr.Operator |
addOperand, canCombine, combine, containsConflictingLoad, containsMatchingLoad, equals, getFreeOperandCount, getOperator, getOperatorIndex, getOperatorString, getSubExpressions, hasSideEffects, initOperands, isConstant, isFreeOperator, isFreeOperator, makeDeclaration, setOperatorIndex, setSubExpressions, simplify, subsEquals |
Methods inherited from class net.sf.jode.expr.Expression |
dumpExpression, dumpExpression, getBreakPenalty, getParent, getType, isVoid, makeInitializer, negate, removeOnetimeLocals, setType, simplifyString, simplifyStringBuffer, toString, updateParentType |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
CheckNullOperator
public CheckNullOperator(Type type,
LocalInfo li)
getPriority
public int getPriority()
- Description copied from class:
Expression
- Get priority of the operator.
Currently this priorities are known:
- 1000 constant
- 950 new, .(field access), []
- 900 new[]
- 800 ++,-- (post)
- 700 ++,--(pre), +,-(unary), ~, !, cast
- 650 *,/, %
- 610 +,-
- 600 <<, >>, >>>
- 550 >, <, >=, <=, instanceof
- 500 ==, !=
- 450 &
- 420 ^
- 410 |
- 350 &&
- 310 ||
- 200 ?:
- 100 =, +=, -=, etc.
- Specified by:
getPriority
in class Expression
updateSubTypes
public void updateSubTypes()
- Description copied from class:
Expression
- Tells an expression that an outer expression has changed our type
and that the inner types should be recalculated.
- Specified by:
updateSubTypes
in class Expression
updateType
public void updateType()
- Description copied from class:
Expression
- Tells an expression that an inner expression may have changed and
that the type should be recalculated.
This may call setType of the caller again.
- Specified by:
updateType
in class Expression
removeLocal
public void removeLocal()
fillInGenSet
public void fillInGenSet(java.util.Collection in,
java.util.Collection gen)
- Overrides:
fillInGenSet
in class Operator
fillDeclarables
public void fillDeclarables(java.util.Collection used)
- Overrides:
fillDeclarables
in class Operator
dumpExpression
public void dumpExpression(TabbedPrintWriter writer)
throws java.io.IOException
- Specified by:
dumpExpression
in class Operator
- Throws:
java.io.IOException
opEquals
public boolean opEquals(Operator o)
- Overrides:
opEquals
in class Operator
Copyright © 1998-2004 by Jochen Hoenicke.