Class SummarizedMethodWithNames.SyntheticIRWithNames
java.lang.Object
com.ibm.wala.ssa.IR
com.ibm.wala.ipa.summaries.SyntheticIR
com.ibm.wala.ipa.summaries.SummarizedMethodWithNames.SyntheticIRWithNames
- All Implemented Interfaces:
IRView
- Enclosing class:
SummarizedMethodWithNames
- Since:
- 2013-11-25
- Author:
- Tobias Blaschke <code@tobiasblaschke.de>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classNested classes/interfaces inherited from class IR
IR.SSA2LocalMapModifier and TypeClassDescriptionstatic interfaceA Map that gives the names of the local variables corresponding to SSA value numbers at particular IR instruction indices, if such information is available from source code mapping. -
Constructor Summary
ConstructorsConstructorDescriptionSyntheticIRWithNames(IMethod method, Context context, AbstractCFG<?, ?> cfg, SSAInstruction[] instructions, SSAOptions options, Map<Integer, ConstantValue> constants, Map<Integer, @NonNull Atom> localNames) -
Method Summary
Modifier and TypeMethodDescriptionThis returns null, as synthetic IRs have no local names right now.Methods inherited from class SyntheticIR
getIndirectionData, instructionPositionModifier and TypeMethodDescriptionprotected SSAIndirectionData<SSAIndirectionData.Name> subclasses must provide information about indirect use of values, if appropriate, and otherwise nullprotected StringinstructionPosition(int instructionIndex) This returns "", as synthetic IRs have no line numbers right now.Methods inherited from class IR
getBasicBlockForCatch, getBasicBlockForInstruction, getBasicBlocksForCall, getBlocks, getCallInstructionIndices, getCalls, getControlFlowGraph, getExitBlock, getInstructions, getLocalNames, getMethod, getNew, getNewInstructionIndex, getNumberOfParameters, getOptions, getParameter, getParameterType, getParameterValueNumbers, getPEI, getSymbolTable, isEmptyIR, iterateAllInstructions, iterateCallSites, iterateCatchInstructions, iterateNewSites, iterateNormalInstructions, iteratePhis, iteratePis, setupLocationMap, toString, visitAllInstructions, visitNormalInstructionsModifier and TypeMethodDescriptiongetBasicBlockForCatch(SSAGetCaughtExceptionInstruction instruction) Return theISSABasicBlockcorresponding to a particular catch instructionThis is space-inefficient.Return the instruction indices corresponding to a call site.getCalls(CallSiteReference site) Return the invoke instructions corresponding to a call siteReturns the normal instructions.String[]getLocalNames(int index, int vn) getNew(NewSiteReference site) Return the new instruction corresponding to an allocation siteintReturn the instruction index corresponding to an allocation siteintintgetParameter(int i) getParameterType(int i) Get theTypeReferencethat describes the ith parameter to this method.int[]getPEI(ProgramCounter pc) booleanTODO: why do we need this? We should enforce instructions == null if necessary, I think.Iterator<? extends SSAInstruction> Return anIteratorof allSSAPhiInstructions for this IR.Iterator<? extends SSAInstruction> Return anIteratorof allSSAPiInstructions for this IR.protected voidcreate mappings from call sites, new sites, and PEIs to instruction indextoString()voidvisit each instruction in this IRvoidvisit each normal (non-phi, non-pi, non-catch) instruction in this IR
-
Constructor Details
-
SyntheticIRWithNames
public SyntheticIRWithNames(IMethod method, Context context, AbstractCFG<?, ?> cfg, SSAInstruction[] instructions, SSAOptions options, Map<Integer, ConstantValue> constants, Map<Integer, @NonNull Atom> localNames) throws AssertionError- Throws:
AssertionError
-
-
Method Details
-
getLocalMap
Description copied from class:SyntheticIRThis returns null, as synthetic IRs have no local names right now.- Overrides:
getLocalMapin classSyntheticIR
-