|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object soot.tagkit.AbstractHost soot.SootMethod
public class SootMethod
Soot representation of a Java method. Can be declared to belong to a SootClass. Does not contain the actual code, which belongs to a Body. The getActiveBody() method points to the currently-active body.
Field Summary | |
---|---|
static String |
constructorName
|
static boolean |
DEBUG
|
protected MethodSource |
ms
Tells this method how to find out where its body lives. |
static String |
staticInitializerName
|
Constructor Summary | |
---|---|
SootMethod(String name,
List parameterTypes,
Type returnType)
Constructs a SootMethod with the given name, parameter types and return type. |
|
SootMethod(String name,
List parameterTypes,
Type returnType,
int modifiers)
Constructs a SootMethod with the given name, parameter types, return type and modifiers. |
|
SootMethod(String name,
List parameterTypes,
Type returnType,
int modifiers,
List<SootClass> thrownExceptions)
Constructs a SootMethod with the given name, parameter types, return type, and list of thrown exceptions. |
Method Summary | |
---|---|
void |
addException(SootClass e)
Adds the given exception to the list of exceptions thrown by this method. |
void |
addExceptionIfAbsent(SootClass e)
Adds the given exception to the list of exceptions thrown by this method unless the exception is already in the list. |
Context |
context()
|
int |
equivHashCode()
Returns a hash code for this method consistent with structural equality. |
Body |
getActiveBody()
Retrieves the active body for this method. |
String |
getBytecodeParms()
Returns the parameters part of the signature in the format in which it appears in bytecode. |
String |
getBytecodeSignature()
Returns the signature of this method in the format in which it appears in bytecode (eg. |
String |
getDavaDeclaration()
|
String |
getDeclaration()
Returns the declaration of this method, as used at the top of textual body representations (before the {}'s containing the code for representation.) |
SootClass |
getDeclaringClass()
Returns the class which declares the current SootMethod . |
List<SootClass> |
getExceptions()
Returns a backed list of the exceptions thrown by this method. |
int |
getModifiers()
Gets the modifiers of this method. |
String |
getName()
Returns the name of this method. |
int |
getNumber()
|
NumberedString |
getNumberedSubSignature()
|
int |
getParameterCount()
Returns the number of parameters taken by this method. |
Type |
getParameterType(int n)
Gets the type of the nth parameter of this method. |
List |
getParameterTypes()
Returns a read-only list of the parameter types of this method. |
Type |
getReturnType()
Returns the return type of this method. |
String |
getSignature()
Returns the Soot signature of this method. |
static String |
getSignature(SootClass cl,
String name,
List params,
Type returnType)
|
MethodSource |
getSource()
Returns the MethodSource of the current SootMethod. |
String |
getSubSignature()
Returns the Soot subsignature of this method. |
static String |
getSubSignature(String name,
List params,
Type returnType)
|
boolean |
hasActiveBody()
Returns true if this method has an active body. |
boolean |
isAbstract()
Convenience method returning true if this method is abstract. |
boolean |
isConcrete()
Returns true if this method is not phantom, abstract or native, i.e. |
boolean |
isConstructor()
|
boolean |
isDeclared()
Returns true when some SootClass object declares this SootMethod object. |
boolean |
isEntryMethod()
|
boolean |
isJavaLibraryMethod()
We rely on the JDK class recognition to decide if a method is JDK method. |
boolean |
isMain()
|
boolean |
isNative()
Convenience method returning true if this method is native. |
boolean |
isPhantom()
Returns true when this SootMethod object is phantom. |
boolean |
isPrivate()
Convenience method returning true if this method is private. |
boolean |
isProtected()
Convenience method returning true if this method is protected. |
boolean |
isPublic()
Convenience method returning true if this method is public. |
boolean |
isStatic()
Convenience method returning true if this method is static. |
boolean |
isSynchronized()
Convenience method returning true if this method is synchronized. |
SootMethodRef |
makeRef()
|
SootMethod |
method()
|
void |
releaseActiveBody()
Releases the active body associated with this method. |
void |
removeException(SootClass e)
Removes the given exception from the list of exceptions thrown by this method. |
Body |
retrieveActiveBody()
Returns the active body if present, else constructs an active body and returns that. |
void |
setActiveBody(Body body)
Sets the active body for this method. |
void |
setDeclared(boolean isDeclared)
|
void |
setDeclaringClass(SootClass declClass)
Nomair A. |
void |
setExceptions(List exceptions)
|
void |
setModifiers(int modifiers)
Sets the modifiers of this method. |
void |
setName(String name)
Sets the name of this method. |
void |
setNumber(int number)
|
void |
setParameterTypes(List l)
Changes the set of parameter types of this method. |
void |
setPhantom(boolean value)
Sets the phantom flag on this method. |
void |
setReturnType(Type t)
Sets the return type of this method. |
void |
setSource(MethodSource ms)
Sets the MethodSource of the current SootMethod. |
boolean |
throwsException(SootClass e)
Returns true if this method throws exception e . |
String |
toString()
Returns the signature of this method. |
Methods inherited from class soot.tagkit.AbstractHost |
---|
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final String constructorName
public static final String staticInitializerName
public static boolean DEBUG
protected MethodSource ms
Constructor Detail |
---|
public SootMethod(String name, List parameterTypes, Type returnType)
public SootMethod(String name, List parameterTypes, Type returnType, int modifiers)
public SootMethod(String name, List parameterTypes, Type returnType, int modifiers, List<SootClass> thrownExceptions)
Method Detail |
---|
public void setSource(MethodSource ms)
public MethodSource getSource()
public int equivHashCode()
public String getName()
public void setDeclaringClass(SootClass declClass)
public SootClass getDeclaringClass()
SootMethod
.
getDeclaringClass
in interface ClassMember
public void setDeclared(boolean isDeclared)
public boolean isDeclared()
SootClass
object declares this SootMethod
object.
isDeclared
in interface ClassMember
public boolean isPhantom()
SootMethod
object is phantom.
isPhantom
in interface ClassMember
public boolean isConcrete()
public void setPhantom(boolean value)
public void setName(String name)
public int getModifiers()
getModifiers
in interface ClassMember
Modifier
public void setModifiers(int modifiers)
setModifiers
in interface ClassMember
Modifier
public Type getReturnType()
public void setReturnType(Type t)
public int getParameterCount()
public Type getParameterType(int n)
public List getParameterTypes()
public void setParameterTypes(List l)
public Body getActiveBody()
public Body retrieveActiveBody()
public void setActiveBody(Body body)
public boolean hasActiveBody()
public void releaseActiveBody()
public void addExceptionIfAbsent(SootClass e)
public void addException(SootClass e)
public void removeException(SootClass e)
public boolean throwsException(SootClass e)
e
.
public void setExceptions(List exceptions)
public List<SootClass> getExceptions()
public boolean isStatic()
isStatic
in interface ClassMember
public boolean isPrivate()
isPrivate
in interface ClassMember
public boolean isPublic()
isPublic
in interface ClassMember
public boolean isProtected()
isProtected
in interface ClassMember
public boolean isAbstract()
public boolean isNative()
public boolean isSynchronized()
public boolean isMain()
public boolean isConstructor()
public boolean isEntryMethod()
public boolean isJavaLibraryMethod()
public String getBytecodeParms()
public String getBytecodeSignature()
public String getSignature()
public static String getSignature(SootClass cl, String name, List params, Type returnType)
public String getSubSignature()
public static String getSubSignature(String name, List params, Type returnType)
public NumberedString getNumberedSubSignature()
public String toString()
toString
in class Object
public String getDavaDeclaration()
public String getDeclaration()
public final int getNumber()
getNumber
in interface Numberable
public final void setNumber(int number)
setNumber
in interface Numberable
public SootMethod method()
method
in interface MethodOrMethodContext
public Context context()
context
in interface MethodOrMethodContext
public SootMethodRef makeRef()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |