public class SyntheticMethod extends Object implements IMethod
IMethod.SourcePositionContextItem.Value<T>| Modifier and Type | Field and Description |
|---|---|
protected IClass |
declaringClass |
static SSAInstruction[] |
NO_STATEMENTS |
protected IMethod |
resolvedMethod |
| Constructor and Description |
|---|
SyntheticMethod(IMethod method,
IClass declaringClass,
boolean isStatic,
boolean isFactory) |
SyntheticMethod(MethodReference method,
IClass declaringClass,
boolean isStatic,
boolean isFactory) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
Collection<Annotation> |
getAnnotations()
Get the annotations on this member, if any
|
BytecodeStream |
getBytecodeStream() |
IClassHierarchy |
getClassHierarchy() |
TypeReference[] |
getDeclaredExceptions() |
IClass |
getDeclaringClass()
Return the object that represents the declaring class
for this member.
|
Descriptor |
getDescriptor()
something like: (IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;
|
int |
getLineNumber(int bcIndex)
END Custom change: precise bytecode positions
|
String |
getLocalVariableName(int bcIndex,
int localNumber) |
int |
getMaxLocals() |
int |
getMaxStackHeight() |
Atom |
getName() |
int |
getNumberOfParameters()
Method getNumberOfParameters.
|
IMethod.SourcePosition |
getParameterSourcePosition(int paramNum) |
TypeReference |
getParameterType(int i)
By convention, for a non-static method, getParameterType(0) is the this pointer
|
String |
getPoison() |
byte |
getPoisonLevel() |
MethodReference |
getReference() |
TypeReference |
getReturnType() |
Selector |
getSelector()
something like: foo(Ljava/langString;)Ljava/lang/Class;
|
String |
getSignature()
something like: com.foo.bar.createLargeOrder(IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;
|
IMethod.SourcePosition |
getSourcePosition(int bcIndex)
BEGIN Custom change: : precise bytecode positions
|
SSAInstruction[] |
getStatements() |
SSAInstruction[] |
getStatements(SSAOptions options)
Deprecated.
|
boolean |
hasExceptionHandler() |
int |
hashCode() |
boolean |
hasLocalVariableTable() |
boolean |
hasPoison() |
boolean |
isAbstract()
Is this method abstract?
|
boolean |
isBridge()
Is this method a bridge method? See JLS 3rd Edition 15.12.4.5
|
boolean |
isClinit()
Is this method a class initializer?
|
boolean |
isFactoryMethod() |
boolean |
isFinal()
Is this method final?
|
boolean |
isInit()
Is this method an object initializer?
|
boolean |
isNative()
Is this method native?
|
boolean |
isPrivate()
Is this method private?
|
boolean |
isProtected()
Is this method protected?
|
boolean |
isPublic()
Is this method public?
|
boolean |
isStatic()
Is this member static?
|
boolean |
isSynchronized()
Is this method synchronized?
|
boolean |
isSynthetic()
Did someone synthesize this method? (As opposed to reading it from a class file)
|
InducedCFG |
makeControlFlowGraph(SSAInstruction[] instructions)
Create an
InducedCFG from an instruction array. |
IR |
makeIR(Context context,
SSAOptions options)
Most subclasses should override this.
|
String |
toString() |
public static final SSAInstruction[] NO_STATEMENTS
protected final IMethod resolvedMethod
protected final IClass declaringClass
public SyntheticMethod(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory)
public boolean isClinit()
IMethodisClinit in interface IMethodIMethod.isClinit()public boolean isInit()
IMethodisInit in interface IMethodIMethod.isInit()public boolean isStatic()
IMemberisStatic in interface IMemberIMember.isStatic()public boolean isNative()
IMethodisNative in interface IMethodIMethod.isNative()public boolean isAbstract()
IMethodisAbstract in interface IMethodIMethod.isAbstract()public boolean isPrivate()
IMethodisPrivate in interface IMethodIMethod.isPrivate()public boolean isProtected()
IMethodisProtected in interface IMethodpublic boolean isPublic()
IMethodpublic boolean isFinal()
IMethodisFinal in interface IMethodIMethod.isFinal()public boolean isBridge()
IMethodisBridge in interface IMethodIMethod.isBridge()public boolean isSynchronized()
IMethodisSynchronized in interface IMethodIMethod.isAbstract()public boolean isSynthetic()
IMethodisSynthetic in interface IMethodIMethod.isSynthetic()public MethodReference getReference()
getReference in interface IMethodIMethod.getReference()public InducedCFG makeControlFlowGraph(SSAInstruction[] instructions)
InducedCFG from an instruction array.
NOTE: SIDE EFFECT!!! ... nulls out phi instructions in the instruction array!public BytecodeStream getBytecodeStream() throws UnsupportedOperationException
UnsupportedOperationExceptionpublic int getMaxLocals()
throws UnsupportedOperationException
UnsupportedOperationExceptionpublic int getMaxStackHeight()
throws UnsupportedOperationException
UnsupportedOperationExceptionpublic IClass getDeclaringClass()
IMembergetDeclaringClass in interface IMemberpublic boolean hasExceptionHandler()
hasExceptionHandler in interface IMethodpublic boolean hasPoison()
public String getPoison()
public byte getPoisonLevel()
@Deprecated public SSAInstruction[] getStatements(SSAOptions options)
public IR makeIR(Context context, SSAOptions options) throws com.ibm.wala.util.debug.UnimplementedError
context - TODOoptions - options governing IR conversioncom.ibm.wala.util.debug.UnimplementedErrorpublic TypeReference getParameterType(int i)
IMethodgetParameterType in interface IMethodpublic int getNumberOfParameters()
IMethodgetNumberOfParameters in interface IMethodIMethod.getNumberOfParameters()public TypeReference[] getDeclaredExceptions() throws com.ibm.wala.shrikeCT.InvalidClassFileException
getDeclaredExceptions in interface IMethodcom.ibm.wala.shrikeCT.InvalidClassFileExceptionpublic Atom getName()
public Descriptor getDescriptor()
IMethodgetDescriptor in interface IMethodpublic IMethod.SourcePosition getSourcePosition(int bcIndex) throws com.ibm.wala.shrikeCT.InvalidClassFileException
getSourcePosition in interface IMethodcom.ibm.wala.shrikeCT.InvalidClassFileExceptionpublic IMethod.SourcePosition getParameterSourcePosition(int paramNum) throws com.ibm.wala.shrikeCT.InvalidClassFileException
getParameterSourcePosition in interface IMethodcom.ibm.wala.shrikeCT.InvalidClassFileExceptionpublic int getLineNumber(int bcIndex)
getLineNumber in interface IMethodpublic boolean isFactoryMethod()
public String getSignature()
IMethodgetSignature in interface IMethodpublic Selector getSelector()
IMethodgetSelector in interface IMethodpublic String getLocalVariableName(int bcIndex, int localNumber)
getLocalVariableName in interface IMethodpublic boolean hasLocalVariableTable()
hasLocalVariableTable in interface IMethodpublic SSAInstruction[] getStatements()
public TypeReference getReturnType()
getReturnType in interface IMethodpublic IClassHierarchy getClassHierarchy()
getClassHierarchy in interface IClassHierarchyDwellerpublic Collection<Annotation> getAnnotations()
IMembergetAnnotations in interface IMemberCopyright © 2015. All rights reserved.