|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.ibm.wala.classLoader.ShrikeBTMethod
public abstract class ShrikeBTMethod
A wrapper around a Shrike object that represents a method
| Nested Class Summary | |
|---|---|
protected static class |
ShrikeBTMethod.BytecodeInfo
|
| Field Summary | |
|---|---|
protected IClass |
declaringClass
A wrapper around the declaring class. |
| Constructor Summary | |
|---|---|
ShrikeBTMethod(IClass klass)
|
|
| Method Summary | |
|---|---|
void |
clearCaches()
Clear all optional cached data associated with this class. |
boolean |
equals(java.lang.Object obj)
|
java.util.Iterator |
getArraysRead()
|
java.util.Iterator<TypeReference> |
getArraysWritten()
|
protected ShrikeBTMethod.BytecodeInfo |
getBCInfo()
|
int |
getBytecodeIndex(int instructionIndex)
Return the program counter (bytecode index) for a particular Shrike instruction index. |
protected abstract byte[] |
getBytecodes()
|
BytecodeStream |
getBytecodeStream()
Method getBytecodeStream. |
java.util.Collection<CallSiteReference> |
getCallSites()
|
java.util.Iterator |
getCastTypes()
|
java.util.Set<TypeReference> |
getCaughtExceptionTypes()
|
TypeReference[] |
getDeclaredExceptions()
Clients should not modify the returned array. |
protected abstract java.lang.String[] |
getDeclaredExceptionTypeNames()
|
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; |
java.util.Iterator<FieldReference> |
getFieldsRead()
|
java.util.Iterator<FieldReference> |
getFieldsWritten()
|
ExceptionHandler[][] |
getHandlers()
|
java.util.Collection<TypeReference> |
getImplicitExceptionTypes()
|
IInstruction[] |
getInstructions()
|
int |
getLineNumber(int bcIndex)
|
abstract java.lang.String |
getLocalVariableName(int bcIndex,
int localNumber)
|
abstract int |
getMaxLocals()
|
abstract int |
getMaxStackHeight()
|
protected abstract java.lang.String |
getMethodName()
|
protected abstract java.lang.String |
getMethodSignature()
|
protected abstract int |
getModifiers()
|
Atom |
getName()
|
int |
getNumberOfParameters()
Method getNumberOfParameters. |
int |
getNumShrikeInstructions()
Return the number of Shrike instructions for this method. |
TypeReference |
getParameterType(int i)
By convention, for a non-static method, getParameterType(0) is the this pointer |
MethodReference |
getReference()
|
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; |
abstract boolean |
hasExceptionHandler()
|
int |
hashCode()
|
abstract boolean |
hasLocalVariableTable()
|
boolean |
hasMonitorOp()
|
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 |
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) |
protected abstract Decoder |
makeDecoder()
Find the decoder object for this method, or create one if necessary. |
protected abstract void |
processDebugInfo(ShrikeBTMethod.BytecodeInfo bcInfo)
Walk through the bytecodes and collect trivial information. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.ibm.wala.classLoader.IMethod |
|---|
getReturnType |
| Methods inherited from interface com.ibm.wala.ipa.cha.IClassHierarchyDweller |
|---|
getClassHierarchy |
| Field Detail |
|---|
protected final IClass declaringClass
| Constructor Detail |
|---|
public ShrikeBTMethod(IClass klass)
| Method Detail |
|---|
protected ShrikeBTMethod.BytecodeInfo getBCInfo()
throws InvalidClassFileException
InvalidClassFileException
public int getBytecodeIndex(int instructionIndex)
throws InvalidClassFileException
InvalidClassFileException
public int getNumShrikeInstructions()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Collection<CallSiteReference> getCallSites()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Collection<TypeReference> getImplicitExceptionTypes()
throws InvalidClassFileException
InvalidClassFileException
public boolean hasMonitorOp()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Iterator<FieldReference> getFieldsWritten()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Iterator<FieldReference> getFieldsRead()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Iterator getArraysRead()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Iterator<TypeReference> getArraysWritten()
throws InvalidClassFileException
InvalidClassFileException
public java.util.Iterator getCastTypes()
throws InvalidClassFileException
InvalidClassFileExceptionprotected abstract byte[] getBytecodes()
public BytecodeStream getBytecodeStream()
protected abstract java.lang.String getMethodName()
throws InvalidClassFileException
InvalidClassFileException
protected abstract java.lang.String getMethodSignature()
throws InvalidClassFileException
InvalidClassFileExceptionpublic MethodReference getReference()
getReference in interface IMethodpublic boolean isClinit()
IMethod
isClinit in interface IMethodpublic boolean isInit()
IMethod
isInit in interface IMethodprotected abstract int getModifiers()
public boolean isNative()
IMethod
isNative in interface IMethodpublic boolean isAbstract()
IMethod
isAbstract in interface IMethodpublic boolean isPrivate()
IMethod
isPrivate in interface IMethodpublic boolean isProtected()
IMethod
isProtected in interface IMethodpublic boolean isPublic()
IMethod
isPublic in interface IMethodpublic boolean isFinal()
IMethod
isFinal in interface IMethodpublic boolean isBridge()
IMethod
isBridge in interface IMethodpublic boolean isSynchronized()
IMethod
isSynchronized in interface IMethodpublic boolean isStatic()
IMember
isStatic in interface IMemberpublic boolean isSynthetic()
IMethod
isSynthetic in interface IMethodpublic IClass getDeclaringClass()
IMember
getDeclaringClass in interface IMemberprotected abstract Decoder makeDecoder()
protected abstract void processDebugInfo(ShrikeBTMethod.BytecodeInfo bcInfo)
throws InvalidClassFileException
InvalidClassFileExceptionpublic java.lang.String toString()
toString in class java.lang.ObjectObject.toString()public boolean equals(java.lang.Object obj)
equals in class java.lang.ObjectObject.equals(Object)public int hashCode()
hashCode in class java.lang.ObjectObject.hashCode()public abstract int getMaxLocals()
getMaxLocals in interface IMethodpublic abstract int getMaxStackHeight()
getMaxStackHeight in interface IMethodpublic Atom getName()
getName in interface IMemberpublic Descriptor getDescriptor()
IMethod
getDescriptor in interface IMethod
public IInstruction[] getInstructions()
throws InvalidClassFileException
InvalidClassFileException
public ExceptionHandler[][] getHandlers()
throws InvalidClassFileException
InvalidClassFileExceptionpublic TypeReference getParameterType(int i)
getParameterType in interface IMethodpublic int getNumberOfParameters()
getNumberOfParameters in interface IMethodpublic abstract boolean hasExceptionHandler()
hasExceptionHandler in interface IMethod
public TypeReference[] getDeclaredExceptions()
throws InvalidClassFileException
getDeclaredExceptions in interface IMethodInvalidClassFileExceptionIMethod.getDeclaredExceptions()
protected abstract java.lang.String[] getDeclaredExceptionTypeNames()
throws InvalidClassFileException
InvalidClassFileExceptionpublic int getLineNumber(int bcIndex)
getLineNumber in interface IMethod
public java.util.Set<TypeReference> getCaughtExceptionTypes()
throws InvalidClassFileException
InvalidClassFileExceptionpublic java.lang.String getSignature()
IMethod
getSignature in interface IMethodpublic Selector getSelector()
IMethod
getSelector in interface IMethod
public abstract java.lang.String getLocalVariableName(int bcIndex,
int localNumber)
getLocalVariableName in interface IMethodpublic abstract boolean hasLocalVariableTable()
hasLocalVariableTable in interface IMethodpublic void clearCaches()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||