Jode 1.90-CVS
Build Aug 6, 2004

net.sf.jode.expr
Class FieldOperator

java.lang.Object
  extended bynet.sf.jode.expr.Expression
      extended bynet.sf.jode.expr.Operator
          extended bynet.sf.jode.expr.FieldOperator
Direct Known Subclasses:
GetFieldOperator, PutFieldOperator

public abstract class FieldOperator
extends Operator

This class contains everything shared between PutFieldOperator and GetFieldOperator


Field Summary
 
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
 
Fields inherited from class net.sf.jode.expr.Expression
EMPTYSTRING, type
 
Constructor Summary
FieldOperator(MethodAnalyzer methodAnalyzer, boolean staticFlag, Reference ref)
           
 
Method Summary
 void dumpExpression(TabbedPrintWriter writer)
           
 void fillDeclarables(java.util.Collection used)
          We add the named method scoped classes to the declarables.
 ClassInfo getClassInfo()
           
 FieldAnalyzer getField()
          Returns the field analyzer for the field, if the field is declared in the same class or some outer class as the method containing this instruction.
 FieldInfo getFieldInfo()
           
 java.lang.String getFieldName()
           
 Type getFieldType()
           
 int getPriority()
          Get priority of the operator.
 boolean isStatic()
           
 boolean needsCast(Type type)
           
 void updateSubTypes()
          Tells an expression that an outer expression has changed our type and that the inner types should be recalculated.
 void updateType()
          Tells an expression that an inner expression may have changed and that the type should be recalculated.
 
Methods inherited from class net.sf.jode.expr.Operator
addOperand, canCombine, combine, containsConflictingLoad, containsMatchingLoad, equals, fillInGenSet, getFreeOperandCount, getOperator, getOperatorIndex, getOperatorString, getSubExpressions, hasSideEffects, initOperands, isConstant, isFreeOperator, isFreeOperator, makeDeclaration, opEquals, 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
 

Constructor Detail

FieldOperator

public FieldOperator(MethodAnalyzer methodAnalyzer,
                     boolean staticFlag,
                     Reference ref)
Method Detail

getPriority

public int getPriority()
Description copied from class: Expression
Get priority of the operator. Currently this priorities are known:

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

isStatic

public boolean isStatic()

getClassInfo

public ClassInfo getClassInfo()

getField

public FieldAnalyzer getField()
Returns the field analyzer for the field, if the field is declared in the same class or some outer class as the method containing this instruction. Otherwise it returns null.

Returns:
see above.

getFieldName

public java.lang.String getFieldName()

getFieldType

public Type getFieldType()

getFieldInfo

public FieldInfo getFieldInfo()

needsCast

public boolean needsCast(Type type)

fillDeclarables

public void fillDeclarables(java.util.Collection used)
We add the named method scoped classes to the declarables.

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

Jode 1.90-CVS
Build Aug 6, 2004

Copyright © 1998-2004 by Jochen Hoenicke.