public class SummarizedMethodWithNames extends SummarizedMethod
Using this class instead of a normal SummarizedMethod enables the use of human-readable variable names in synthetic methods. This should not change th analysis-result but may come in handy when debugging.
| Modifier and Type | Class and Description |
|---|---|
static class |
SummarizedMethodWithNames.SyntheticIRWithNames |
IMethod.SourcePositionContextItem.Value<T>declaringClass, NO_STATEMENTS, resolvedMethod| Constructor and Description |
|---|
SummarizedMethodWithNames(MethodReference ref,
MethodSummary summary,
IClass declaringClass) |
SummarizedMethodWithNames(MethodReference ref,
MethodSummary summary,
IClass declaringClass,
java.util.Map<java.lang.Integer,Atom> localNames) |
SummarizedMethodWithNames(MethodReference ref,
VolatileMethodSummary summary,
IClass declaringClass) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getLocalVariableName(int bcIndex,
int localNumber)
Returns the variable name to a ssa-number.
|
boolean |
hasLocalVariableTable() |
IR |
makeIR(Context context,
SSAOptions options)
Most subclasses should override this.
|
getNumberOfParameters, getParameterType, getPoison, getPoisonLevel, getStatements, hasPoison, isAbstract, isNative, isStaticequals, getAnnotations, getBytecodeStream, getClassHierarchy, getDeclaredExceptions, getDeclaringClass, getDescriptor, getLineNumber, getMaxLocals, getMaxStackHeight, getName, getParameterSourcePosition, getReference, getReturnType, getSelector, getSignature, getSourcePosition, getStatements, hasExceptionHandler, hashCode, isBridge, isClinit, isFactoryMethod, isFinal, isInit, isPrivate, isProtected, isPublic, isSynchronized, isSynthetic, isWalaSynthetic, makeControlFlowGraph, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetNumberOfDefaultParameterspublic SummarizedMethodWithNames(MethodReference ref, MethodSummary summary, IClass declaringClass)
public SummarizedMethodWithNames(MethodReference ref, MethodSummary summary, IClass declaringClass, java.util.Map<java.lang.Integer,Atom> localNames) throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic SummarizedMethodWithNames(MethodReference ref, VolatileMethodSummary summary, IClass declaringClass) throws java.lang.NullPointerException
java.lang.NullPointerExceptionpublic java.lang.String getLocalVariableName(int bcIndex,
int localNumber)
Does not respect the value of bcIndex.
getLocalVariableName in interface IMethodgetLocalVariableName in class SummarizedMethodpublic boolean hasLocalVariableTable()
hasLocalVariableTable in interface IMethodhasLocalVariableTable in class SyntheticMethodpublic IR makeIR(Context context, SSAOptions options)
SyntheticMethodmakeIR in class SummarizedMethodcontext - TODOoptions - options governing IR conversion