public class TypeInference extends SSAInference<TypeVariable> implements com.ibm.wala.fixpoint.FixedPointConstants
| Modifier and Type | Class and Description |
|---|---|
protected static class |
TypeInference.DeclaredTypeOperator
An operator which initializes a type to a declared type.
|
protected static class |
TypeInference.PrimitivePropagateOperator |
protected class |
TypeInference.TypeOperatorFactory |
class |
TypeInference.TypeVarFactory |
SSAInference.OperatorFactory<T extends com.ibm.wala.fixpoint.IVariable>, SSAInference.VariableFactory| Modifier and Type | Field and Description |
|---|---|
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
|
protected Language |
language |
| Modifier | Constructor and Description |
|---|---|
protected |
TypeInference(IR ir,
boolean doPrimitives) |
| Modifier and Type | Method and Description |
|---|---|
TypeAbstraction[] |
extractAllResults()
Extract all results of the type inference analysis.
|
TypeAbstraction |
getConstantPrimitiveType(int valueNumber) |
TypeAbstraction |
getConstantType(int valueNumber) |
IR |
getIR() |
TypeAbstraction |
getType(int valueNumber)
Return the type computed for a particular value number
|
protected void |
initialize() |
protected void |
initializeVariables() |
protected void |
initializeWorkList() |
boolean |
isUndefined(int valueNumber) |
static TypeInference |
make(IR ir,
boolean doPrimitives) |
protected TypeVariable[] |
makeStmtRHS(int size) |
boolean |
solve() |
boolean |
solve(com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor) |
getVariable, init, toStringgetFixedPointSystemaddAllStatementsToWorkList, addToWorkList, changedVariable, emptyWorkList, getMaxEvalBetweenTopo, getMinSizeForTopSort, getNumberOfEvaluations, getPeriodicMaintainInterval, getStatements, getTopologicalGrowthFactor, getVerboseInterval, incNumberOfEvaluations, initForFirstSolve, isChanged, isFixed, isSideEffect, lineBreak, newStatement, newStatement, newStatement, newStatement, newStatement, orderStatements, performVerboseAction, periodicMaintenance, removeStatement, setMaxEvalBetweenTopo, setMinEquationsForTopSort, setTopologicalGrowthFactorprotected final IR ir
protected final IClassHierarchy cha
protected final Language language
protected final TypeAbstraction BOTTOM
protected final boolean doPrimitives
protected TypeInference(IR ir, boolean doPrimitives)
public static TypeInference make(IR ir, boolean doPrimitives)
public boolean solve()
public boolean solve(com.ibm.wala.util.MonitorUtil.IProgressMonitor monitor)
solve in interface com.ibm.wala.fixpoint.IFixedPointSolver<TypeVariable>solve in class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<TypeVariable>protected void initialize()
protected void initializeVariables()
initializeVariables in class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<TypeVariable>protected void initializeWorkList()
initializeWorkList in class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<TypeVariable>public IR getIR()
public TypeAbstraction getType(int valueNumber)
public TypeAbstraction getConstantType(int valueNumber)
public TypeAbstraction getConstantPrimitiveType(int valueNumber)
public boolean isUndefined(int valueNumber)
public TypeAbstraction[] extractAllResults()
protected TypeVariable[] makeStmtRHS(int size)
makeStmtRHS in class com.ibm.wala.fixedpoint.impl.AbstractFixedPointSolver<TypeVariable>Copyright © 2015. All rights reserved.