public class DexIMethod extends java.lang.Object implements com.ibm.wala.classLoader.IBytecodeMethod<Instruction>
| Modifier and Type | Field and Description |
|---|---|
protected InstructionArray |
instructions |
protected DexIClass |
myClass
The declaring class for this method.
|
| Constructor and Description |
|---|
DexIMethod(org.jf.dexlib2.iface.Method encodedMethod,
DexIClass klass) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object obj) |
int |
getAddressFromIndex(int index) |
java.util.Collection<com.ibm.wala.types.annotations.Annotation> |
getAnnotations() |
java.util.Collection<com.ibm.wala.types.annotations.Annotation> |
getAnnotations(boolean runtimeInvisible) |
int |
getBytecodeIndex(int i) |
java.util.Collection<com.ibm.wala.classLoader.CallSiteReference> |
getCallSites() |
com.ibm.wala.ipa.cha.IClassHierarchy |
getClassHierarchy() |
com.ibm.wala.types.TypeReference[] |
getDeclaredExceptions() |
com.ibm.wala.classLoader.IClass |
getDeclaringClass() |
com.ibm.wala.types.Descriptor |
getDescriptor() |
Instruction[] |
getDexInstructions() |
int |
getExceptionReg() |
com.ibm.wala.shrikeBT.ExceptionHandler[][] |
getHandlers() |
com.ibm.wala.shrikeBT.IndirectionData |
getIndirectionData() |
Instruction |
getInstructionFromIndex(int instructionIndex) |
int |
getInstructionIndex(int bytecodeindex) |
Instruction[] |
getInstructions() |
int |
getLineNumber(int bcIndex) |
java.lang.String |
getLocalVariableName(int bcIndex,
int localNumber) |
int |
getMaxLocals()
XXX not fully about the + 2.
|
int |
getMaxStackHeight() |
com.ibm.wala.util.strings.Atom |
getName() |
int |
getNumberOfParameterRegisters() |
int |
getNumberOfParameters() |
java.util.Collection<com.ibm.wala.types.annotations.Annotation>[] |
getParameterAnnotations() |
com.ibm.wala.classLoader.IMethod.SourcePosition |
getParameterSourcePosition(int paramNum) |
com.ibm.wala.types.TypeReference |
getParameterType(int index) |
com.ibm.wala.types.MethodReference |
getReference() |
int |
getReturnReg() |
com.ibm.wala.types.TypeReference |
getReturnType() |
com.ibm.wala.types.Selector |
getSelector() |
java.lang.String |
getSignature() |
com.ibm.wala.classLoader.IMethod.SourcePosition |
getSourcePosition(int instructionIndex) |
static int |
getTotalInsts() |
protected void |
handleINVOKE_VIRTUAL(int instLoc,
java.lang.String cname,
java.lang.String mname,
java.lang.String pname,
int[] args,
org.jf.dexlib2.Opcode opcode) |
boolean |
hasExceptionHandler() |
int |
hashCode() |
boolean |
hasLocalVariableTable() |
protected InstructionArray |
instructions() |
boolean |
isAbstract() |
boolean |
isBridge() |
boolean |
isClinit() |
boolean |
isFinal() |
boolean |
isInit() |
boolean |
isNative() |
boolean |
isPrivate() |
boolean |
isProtected() |
boolean |
isPublic() |
boolean |
isStatic() |
boolean |
isSynchronized() |
boolean |
isSynthetic() |
boolean |
isVolatile() |
boolean |
isWalaSynthetic() |
protected void |
parseBytecode() |
org.jf.dexlib2.iface.Method |
toEncodedMethod() |
java.lang.String |
toString() |
protected final DexIClass myClass
protected InstructionArray instructions
public DexIMethod(org.jf.dexlib2.iface.Method encodedMethod,
DexIClass klass)
public static int getTotalInsts()
public org.jf.dexlib2.iface.Method toEncodedMethod()
public com.ibm.wala.types.TypeReference[] getDeclaredExceptions()
throws java.lang.UnsupportedOperationException
getDeclaredExceptions in interface com.ibm.wala.classLoader.IMethodjava.lang.UnsupportedOperationExceptionpublic java.lang.String getLocalVariableName(int bcIndex,
int localNumber)
getLocalVariableName in interface com.ibm.wala.classLoader.IMethodpublic int getMaxLocals()
ShrikeCTMethod.getMaxLocals()public int getReturnReg()
public int getExceptionReg()
public int getMaxStackHeight()
public com.ibm.wala.types.Descriptor getDescriptor()
getDescriptor in interface com.ibm.wala.classLoader.IMethodpublic int getNumberOfParameters()
getNumberOfParameters in interface com.ibm.wala.classLoader.IMethodpublic int getNumberOfParameterRegisters()
public com.ibm.wala.types.TypeReference getParameterType(int index)
getParameterType in interface com.ibm.wala.classLoader.IMethodpublic com.ibm.wala.types.MethodReference getReference()
getReference in interface com.ibm.wala.classLoader.IMethodpublic com.ibm.wala.types.TypeReference getReturnType()
getReturnType in interface com.ibm.wala.classLoader.IMethodpublic com.ibm.wala.types.Selector getSelector()
getSelector in interface com.ibm.wala.classLoader.IMethodpublic java.lang.String getSignature()
getSignature in interface com.ibm.wala.classLoader.IMethodpublic boolean hasExceptionHandler()
hasExceptionHandler in interface com.ibm.wala.classLoader.IMethodpublic boolean hasLocalVariableTable()
hasLocalVariableTable in interface com.ibm.wala.classLoader.IMethodpublic boolean isAbstract()
isAbstract in interface com.ibm.wala.classLoader.IMethodpublic boolean isClinit()
isClinit in interface com.ibm.wala.classLoader.IMethodpublic boolean isFinal()
isFinal in interface com.ibm.wala.classLoader.IMethodpublic boolean isInit()
isInit in interface com.ibm.wala.classLoader.IMethodpublic boolean isNative()
isNative in interface com.ibm.wala.classLoader.IMethodpublic boolean isBridge()
isBridge in interface com.ibm.wala.classLoader.IMethodpublic boolean isPrivate()
isPrivate in interface com.ibm.wala.classLoader.IMethodpublic boolean isProtected()
isProtected in interface com.ibm.wala.classLoader.IMethodpublic boolean isPublic()
isPublic in interface com.ibm.wala.classLoader.IMethodpublic boolean isSynchronized()
isSynchronized in interface com.ibm.wala.classLoader.IMethodpublic boolean isWalaSynthetic()
isWalaSynthetic in interface com.ibm.wala.classLoader.IMethodpublic boolean isSynthetic()
isSynthetic in interface com.ibm.wala.classLoader.IMethodpublic boolean isStatic()
isStatic in interface com.ibm.wala.classLoader.IMemberpublic boolean isVolatile()
public com.ibm.wala.classLoader.IClass getDeclaringClass()
getDeclaringClass in interface com.ibm.wala.classLoader.IMemberpublic com.ibm.wala.ipa.cha.IClassHierarchy getClassHierarchy()
getClassHierarchy in interface com.ibm.wala.ipa.cha.IClassHierarchyDwellerpublic com.ibm.wala.util.strings.Atom getName()
getName in interface com.ibm.wala.classLoader.IMemberpublic int getLineNumber(int bcIndex)
getLineNumber in interface com.ibm.wala.classLoader.IMethodpublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic int getBytecodeIndex(int i)
getBytecodeIndex in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>public com.ibm.wala.shrikeBT.ExceptionHandler[][] getHandlers()
getHandlers in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>public Instruction[] getInstructions()
getInstructions in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>protected void parseBytecode()
protected void handleINVOKE_VIRTUAL(int instLoc,
java.lang.String cname,
java.lang.String mname,
java.lang.String pname,
int[] args,
org.jf.dexlib2.Opcode opcode)
public Instruction[] getDexInstructions()
protected InstructionArray instructions()
public int getAddressFromIndex(int index)
public int getInstructionIndex(int bytecodeindex)
getInstructionIndex in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>public Instruction getInstructionFromIndex(int instructionIndex)
public com.ibm.wala.shrikeBT.IndirectionData getIndirectionData()
getIndirectionData in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>public java.util.Collection<com.ibm.wala.classLoader.CallSiteReference> getCallSites()
getCallSites in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>java.lang.UnsupportedOperationException - TODO: Review this implementation - it may be horribly wrong!
public com.ibm.wala.classLoader.IMethod.SourcePosition getSourcePosition(int instructionIndex)
getSourcePosition in interface com.ibm.wala.classLoader.IMethodpublic com.ibm.wala.classLoader.IMethod.SourcePosition getParameterSourcePosition(int paramNum)
getParameterSourcePosition in interface com.ibm.wala.classLoader.IMethodpublic java.util.Collection<com.ibm.wala.types.annotations.Annotation> getAnnotations()
getAnnotations in interface com.ibm.wala.classLoader.IMemberpublic java.util.Collection<com.ibm.wala.types.annotations.Annotation> getAnnotations(boolean runtimeInvisible)
getAnnotations in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>public java.util.Collection<com.ibm.wala.types.annotations.Annotation>[] getParameterAnnotations()
getParameterAnnotations in interface com.ibm.wala.classLoader.IBytecodeMethod<Instruction>