public class SyntheticMethod extends java.lang.Object implements IMethod
IMethod.SourcePositionContextItem.Value<T>| Modifier and Type | Field and Description |
|---|---|
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(java.lang.Object obj) |
java.util.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) |
java.lang.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
|
java.lang.String |
getPoison() |
byte |
getPoisonLevel() |
MethodReference |
getReference() |
TypeReference |
getReturnType() |
Selector |
getSelector()
something like: foo(Ljava/langString;)Ljava/lang/Class;
|
java.lang.String |
getSignature()
something like:
com.foo.bar.createLargeOrder(IILjava.lang.String;SLjava.sql.Date;)Ljava.lang.Integer;
|
IMethod.SourcePosition |
getSourcePosition(int bcIndex) |
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()
Is this method synthetic, i.e., compiler-generated (this refers to the synthetic flag in
java/dex bytecode)
|
boolean |
isWalaSynthetic()
Is the implementation of this method a model generated by WALA? For compiler-generated
synthetic methods, refer to
IMethod.isSynthetic() |
InducedCFG |
makeControlFlowGraph(SSAInstruction[] instructions)
Create an
InducedCFG from an instruction array. |
IR |
makeIR(Context context,
SSAOptions options)
Most subclasses should override this.
|
java.lang.String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitgetNumberOfDefaultParameterspublic static final SSAInstruction[] NO_STATEMENTS
protected final IMethod resolvedMethod
public final IClass declaringClass
public SyntheticMethod(MethodReference method, IClass declaringClass, boolean isStatic, boolean isFactory)
public boolean isClinit()
IMethodpublic boolean isInit()
IMethodpublic boolean isStatic()
IMemberisStatic in interface IMemberIMember.isStatic()public boolean isNative()
IMethodpublic boolean isAbstract()
IMethodisAbstract in interface IMethodpublic boolean isPrivate()
IMethodpublic boolean isProtected()
IMethodisProtected in interface IMethodpublic boolean isPublic()
IMethodpublic boolean isFinal()
IMethodpublic boolean isBridge()
IMethodpublic boolean isSynchronized()
IMethodisSynchronized in interface IMethodIMethod.isAbstract()public boolean isWalaSynthetic()
IMethodIMethod.isSynthetic()isWalaSynthetic in interface IMethodpublic boolean isSynthetic()
IMethodisSynthetic in interface IMethodpublic MethodReference getReference()
getReference in interface IMethodpublic InducedCFG makeControlFlowGraph(SSAInstruction[] instructions)
InducedCFG from an instruction array.
NOTE: SIDE EFFECT!!! ... nulls out phi instructions in the instruction array!
public BytecodeStream getBytecodeStream() throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationExceptionpublic int getMaxLocals()
throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationExceptionpublic int getMaxStackHeight()
throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationExceptionpublic IClass getDeclaringClass()
IMembergetDeclaringClass in interface IMemberpublic java.lang.String toString()
toString in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic boolean hasExceptionHandler()
hasExceptionHandler in interface IMethodpublic boolean hasPoison()
public java.lang.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 IMethodpublic 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 java.lang.String getSignature()
IMethodgetSignature in interface IMethodpublic Selector getSelector()
IMethodgetSelector in interface IMethodpublic java.lang.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 java.util.Collection<Annotation> getAnnotations()
IMembergetAnnotations in interface IMember