|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver
com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver
com.ibm.wala.dataflow.ssa.SSAInference
com.ibm.wala.analysis.typeInference.TypeInference
public class TypeInference
This class performs intraprocedural type propagation on an SSA IR.
| Nested Class Summary | |
|---|---|
protected class |
TypeInference.DeclaredTypeOperator
|
protected static class |
TypeInference.PrimitivePropagateOperator
|
protected class |
TypeInference.TypeOperatorFactory
|
class |
TypeInference.TypeVarFactory
|
protected static class |
TypeInference.TypeVariable
A type variable in the dataflow system. |
| Nested classes/interfaces inherited from class com.ibm.wala.dataflow.ssa.SSAInference |
|---|
SSAInference.OperatorFactory, SSAInference.VariableFactory |
| Field Summary | |
|---|---|
protected TypeAbstraction |
BOTTOM
A cone type for java.lang.Object |
protected IClassHierarchy |
cha
The governing class hierarchy |
protected boolean |
doPrimitives
should type inference track primitive types? |
protected IR |
ir
The governing SSA form |
| Fields inherited from class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver |
|---|
DEFAULT_PERIODIC_MAINTENANCE_INTERVAL, DEFAULT_VERBOSE_INTERVAL, verbose, workList |
| Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants |
|---|
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK |
| Constructor Summary | |
|---|---|
TypeInference(IR ir)
|
|
TypeInference(IR ir,
boolean doPrimitives)
|
|
| Method Summary | |
|---|---|
TypeAbstraction |
getConstantPrimitiveType(int valueNumber)
|
TypeAbstraction |
getConstantType(int valueNumber)
|
IR |
getIR()
Returns the ir. |
TypeAbstraction |
getType(int valueNumber)
Method getType. |
protected void |
initialize()
|
protected void |
initializeVariables()
Initialize all lattice vars in the system. |
protected void |
initializeWorkList()
Initialize the work list for iteration.j |
boolean |
isUndefined(int valueNumber)
|
| Methods inherited from class com.ibm.wala.dataflow.ssa.SSAInference |
|---|
getVariable, init, toString |
| Methods inherited from class com.ibm.wala.fixedpoint.impl.DefaultFixedPointSolver |
|---|
getFixedPointSystem |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected final IR ir
protected final IClassHierarchy cha
protected final TypeAbstraction BOTTOM
protected final boolean doPrimitives
| Constructor Detail |
|---|
public TypeInference(IR ir,
boolean doPrimitives)
public TypeInference(IR ir)
| Method Detail |
|---|
protected void initialize()
protected void initializeVariables()
AbstractFixedPointSolver
initializeVariables in class AbstractFixedPointSolverprotected void initializeWorkList()
AbstractFixedPointSolver
initializeWorkList in class AbstractFixedPointSolverpublic IR getIR()
public TypeAbstraction getType(int valueNumber)
valueNumber -
public TypeAbstraction getConstantType(int valueNumber)
public TypeAbstraction getConstantPrimitiveType(int valueNumber)
public boolean isUndefined(int valueNumber)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||