Class SummarizedMethod
java.lang.Object
com.ibm.wala.classLoader.SyntheticMethod
com.ibm.wala.ipa.summaries.SummarizedMethod
- All Implemented Interfaces:
IMember, IMethod, ContextItem, IClassHierarchyDweller
- Direct Known Subclasses:
JavaScriptSummarizedFunction, SummarizedMethodWithNames
A
SyntheticMethod representing the semantics encoded in a MethodSummary-
Nested Class Summary
Nested classes/interfaces inherited from interface ContextItem
ContextItem.Value<T>Nested classes/interfaces inherited from interface IMethod
IMethod.SourcePosition -
Field Summary
Fields inherited from class SyntheticMethod
declaringClass, NO_STATEMENTS, resolvedMethodModifier and TypeFieldDescriptionfinal IClassstatic final SSAInstruction[]protected final IMethod -
Constructor Summary
ConstructorsConstructorDescriptionSummarizedMethod(MethodReference ref, MethodSummary summary, IClass declaringClass) -
Method Summary
Modifier and TypeMethodDescriptiongetLocalVariableName(int bcIndex, int localNumber) intMethod getNumberOfParameters.getParameterType(int i) By convention, for a non-static method, getParameterType(0) is the this pointerbytegetStatements(SSAOptions options) booleanbooleanIs this method abstract?booleanisNative()Is this method native?booleanisStatic()Is this member static?makeIR(Context context, SSAOptions options) Most subclasses should override this.Methods inherited from class SyntheticMethod
equals, getAnnotations, getBytecodeStream, getClassHierarchy, getDeclaredExceptions, getDeclaringClass, getDescriptor, getLineNumber, getMaxLocals, getMaxStackHeight, getName, getParameterSourcePosition, getReference, getReturnType, getSelector, getSignature, getSourcePosition, getStatements, hasExceptionHandler, hashCode, hasLocalVariableTable, isAnnotation, isBridge, isClinit, isEnum, isFactoryMethod, isFinal, isInit, isModule, isPrivate, isProtected, isPublic, isSynchronized, isSynthetic, isWalaSynthetic, makeControlFlowGraph, toStringModifier and TypeMethodDescriptionbooleanGet the annotations on this member, if anyReturn the object that represents the declaring class for this member.something like: (IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;intgetLineNumber(int bcIndex) intintgetName()getParameterSourcePosition(int paramNum) something like: foo(Ljava/langString;)Ljava/lang/Class;something like: com.foo.bar.createLargeOrder(IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;getSourcePosition(int bcIndex) booleaninthashCode()booleanbooleanbooleanisBridge()Is this method a bridge method? See JLS 3rd Edition 15.12.4.5booleanisClinit()Is this method a class initializer?booleanisEnum()booleanbooleanisFinal()Is this method final?booleanisInit()Is this method an object initializer?booleanisModule()booleanIs this method private?booleanIs this method protected?booleanisPublic()Is this method public?booleanIs this method synchronized?booleanIs this method synthetic, i.e., compiler-generated (this refers to the synthetic flag in java/dex bytecode)booleanIs the implementation of this method a model generated by WALA? For compiler-generated synthetic methods, refer toIMethod.isSynthetic()makeControlFlowGraph(SSAInstruction[] instructions) Create anInducedCFGfrom an instruction array.toString()Methods inherited from interface IMethod
getNumberOfDefaultParameters
-
Constructor Details
-
SummarizedMethod
public SummarizedMethod(MethodReference ref, MethodSummary summary, IClass declaringClass) throws NullPointerException - Throws:
NullPointerException
-
-
Method Details
-
isNative
public boolean isNative()Description copied from interface:IMethodIs this method native?- Specified by:
isNativein interfaceIMethod- Overrides:
isNativein classSyntheticMethod- See Also:
-
isAbstract
public boolean isAbstract()Description copied from interface:IMethodIs this method abstract?- Specified by:
isAbstractin interfaceIMethod- Overrides:
isAbstractin classSyntheticMethod- See Also:
-
getPoison
- Overrides:
getPoisonin classSyntheticMethod
-
getPoisonLevel
public byte getPoisonLevel()- Overrides:
getPoisonLevelin classSyntheticMethod
-
hasPoison
public boolean hasPoison()- Overrides:
hasPoisonin classSyntheticMethod
-
getStatements
- Overrides:
getStatementsin classSyntheticMethod
-
makeIR
Description copied from class:SyntheticMethodMost subclasses should override this.- Overrides:
makeIRin classSyntheticMethod- Parameters:
context- TODOoptions- options governing IR conversion
-
getNumberOfParameters
public int getNumberOfParameters()Description copied from interface:IMethodMethod getNumberOfParameters. This result includes the "this" pointer if applicable- Specified by:
getNumberOfParametersin interfaceIMethod- Overrides:
getNumberOfParametersin classSyntheticMethod- See Also:
-
isStatic
public boolean isStatic()Description copied from interface:IMemberIs this member static?- Specified by:
isStaticin interfaceIMember- Overrides:
isStaticin classSyntheticMethod- See Also:
-
getParameterType
Description copied from interface:IMethodBy convention, for a non-static method, getParameterType(0) is the this pointer- Specified by:
getParameterTypein interfaceIMethod- Overrides:
getParameterTypein classSyntheticMethod- See Also:
-
getLocalVariableName
- Specified by:
getLocalVariableNamein interfaceIMethod- Overrides:
getLocalVariableNamein classSyntheticMethod- Returns:
- the (source code) name of the local variable of a given number at the specified program counter, or null if the information is not available.
-