Package com.ibm.wala.ipa.summaries
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:
SummarizedMethodWithNames
public class SummarizedMethod extends SyntheticMethod
ASyntheticMethod
representing the semantics encoded in aMethodSummary
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.ibm.wala.ipa.callgraph.ContextItem
ContextItem.Value<T>
-
Nested classes/interfaces inherited from interface com.ibm.wala.classLoader.IMethod
IMethod.SourcePosition
-
-
Field Summary
-
Fields inherited from class com.ibm.wala.classLoader.SyntheticMethod
declaringClass, NO_STATEMENTS, resolvedMethod
-
-
Constructor Summary
Constructors Constructor Description SummarizedMethod(MethodReference ref, MethodSummary summary, IClass declaringClass)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getNumberOfParameters()
Method getNumberOfParameters.TypeReference
getParameterType(int i)
By convention, for a non-static method, getParameterType(0) is the this pointerString
getPoison()
byte
getPoisonLevel()
SSAInstruction[]
getStatements(SSAOptions options)
boolean
hasPoison()
boolean
isAbstract()
Is this method abstract?boolean
isNative()
Is this method native?boolean
isStatic()
Is this member static?IR
makeIR(Context context, SSAOptions options)
Most subclasses should override this.-
Methods inherited from class com.ibm.wala.classLoader.SyntheticMethod
equals, getAnnotations, getBytecodeStream, getClassHierarchy, getDeclaredExceptions, getDeclaringClass, getDescriptor, getLineNumber, getLocalVariableName, getMaxLocals, getMaxStackHeight, getName, getParameterSourcePosition, getReference, getReturnType, getSelector, getSignature, getSourcePosition, getStatements, hasExceptionHandler, hashCode, hasLocalVariableTable, isBridge, isClinit, isFactoryMethod, isFinal, isInit, isPrivate, isProtected, isPublic, isSynchronized, isSynthetic, makeControlFlowGraph, toString
-
-
-
-
Constructor Detail
-
SummarizedMethod
public SummarizedMethod(MethodReference ref, MethodSummary summary, IClass declaringClass) throws NullPointerException
- Throws:
NullPointerException
-
-
Method Detail
-
isNative
public boolean isNative()
Description copied from interface:IMethod
Is this method native?- Specified by:
isNative
in interfaceIMethod
- Overrides:
isNative
in classSyntheticMethod
- See Also:
IMethod.isNative()
-
isAbstract
public boolean isAbstract()
Description copied from interface:IMethod
Is this method abstract?- Specified by:
isAbstract
in interfaceIMethod
- Overrides:
isAbstract
in classSyntheticMethod
- See Also:
IMethod.isAbstract()
-
getPoison
public String getPoison()
- Overrides:
getPoison
in classSyntheticMethod
-
getPoisonLevel
public byte getPoisonLevel()
- Overrides:
getPoisonLevel
in classSyntheticMethod
-
hasPoison
public boolean hasPoison()
- Overrides:
hasPoison
in classSyntheticMethod
-
getStatements
public SSAInstruction[] getStatements(SSAOptions options)
- Overrides:
getStatements
in classSyntheticMethod
-
makeIR
public IR makeIR(Context context, SSAOptions options)
Description copied from class:SyntheticMethod
Most subclasses should override this.- Overrides:
makeIR
in classSyntheticMethod
- Parameters:
context
- TODOoptions
- options governing IR conversion
-
getNumberOfParameters
public int getNumberOfParameters()
Description copied from interface:IMethod
Method getNumberOfParameters. This result includes the "this" pointer if applicable- Specified by:
getNumberOfParameters
in interfaceIMethod
- Overrides:
getNumberOfParameters
in classSyntheticMethod
- See Also:
IMethod.getNumberOfParameters()
-
isStatic
public boolean isStatic()
Description copied from interface:IMember
Is this member static?- Specified by:
isStatic
in interfaceIMember
- Overrides:
isStatic
in classSyntheticMethod
- See Also:
IMember.isStatic()
-
getParameterType
public TypeReference getParameterType(int i)
Description copied from interface:IMethod
By convention, for a non-static method, getParameterType(0) is the this pointer- Specified by:
getParameterType
in interfaceIMethod
- Overrides:
getParameterType
in classSyntheticMethod
-
-