public class SootMethod extends AbstractHost implements ClassMember, Numberable, MethodOrMethodContext
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
constructorName |
static boolean |
DEBUG |
protected MethodSource |
ms
Tells this method how to find out where its body lives.
|
static java.lang.String |
staticInitializerName |
| Constructor and Description |
|---|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType)
Constructs a SootMethod with the given name, parameter types and return type.
|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType,
int modifiers)
Constructs a SootMethod with the given name, parameter types, return type and modifiers.
|
SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType,
int modifiers,
java.util.List<SootClass> thrownExceptions)
Constructs a SootMethod with the given name, parameter types, return type,
and list of thrown exceptions.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
java.lang.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. |
java.util.List<SootClass> |
getExceptions()
Returns a backed list of the exceptions thrown by this method.
|
int |
getModifiers()
Gets the modifiers of this method.
|
java.lang.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.
|
java.util.List |
getParameterTypes()
Returns a read-only list of the parameter types of this method.
|
Type |
getReturnType()
Returns the return type of this method.
|
java.lang.String |
getSignature()
Returns the Soot signature of this method.
|
static java.lang.String |
getSignature(SootClass cl,
java.lang.String name,
java.util.List params,
Type returnType) |
MethodSource |
getSource()
Returns the MethodSource of the current SootMethod.
|
java.lang.String |
getSubSignature()
Returns the Soot subsignature of this method.
|
static java.lang.String |
getSubSignature(java.lang.String name,
java.util.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(java.util.List exceptions) |
void |
setModifiers(int modifiers)
Sets the modifiers of this method.
|
void |
setName(java.lang.String name)
Sets the name of this method.
|
void |
setNumber(int number) |
void |
setParameterTypes(java.util.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. |
java.lang.String |
toString()
Returns the signature of this method.
|
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTagpublic static final java.lang.String constructorName
public static final java.lang.String staticInitializerName
public static boolean DEBUG
protected MethodSource ms
public SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType)
public SootMethod(java.lang.String name,
java.util.List parameterTypes,
Type returnType,
int modifiers)
public void setSource(MethodSource ms)
public MethodSource getSource()
public int equivHashCode()
public java.lang.String getName()
public void setDeclaringClass(SootClass declClass)
public SootClass getDeclaringClass()
SootMethod.getDeclaringClass in interface ClassMemberpublic void setDeclared(boolean isDeclared)
public boolean isDeclared()
SootClass object declares this SootMethod object.isDeclared in interface ClassMemberpublic boolean isPhantom()
SootMethod object is phantom.isPhantom in interface ClassMemberpublic boolean isConcrete()
public void setPhantom(boolean value)
public void setName(java.lang.String name)
public int getModifiers()
getModifiers in interface ClassMemberModifierpublic void setModifiers(int modifiers)
setModifiers in interface ClassMemberModifierpublic Type getReturnType()
public void setReturnType(Type t)
public int getParameterCount()
public Type getParameterType(int n)
public java.util.List getParameterTypes()
public void setParameterTypes(java.util.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(java.util.List exceptions)
public java.util.List<SootClass> getExceptions()
public boolean isStatic()
isStatic in interface ClassMemberpublic boolean isPrivate()
isPrivate in interface ClassMemberpublic boolean isPublic()
isPublic in interface ClassMemberpublic boolean isProtected()
isProtected in interface ClassMemberpublic boolean isAbstract()
public boolean isNative()
public boolean isSynchronized()
public boolean isMain()
public boolean isConstructor()
public boolean isEntryMethod()
public boolean isJavaLibraryMethod()
public java.lang.String getSignature()
public static java.lang.String getSignature(SootClass cl, java.lang.String name, java.util.List params, Type returnType)
public java.lang.String getSubSignature()
public static java.lang.String getSubSignature(java.lang.String name,
java.util.List params,
Type returnType)
public NumberedString getNumberedSubSignature()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getDeclaration()
public final int getNumber()
getNumber in interface Numberablepublic final void setNumber(int number)
setNumber in interface Numberablepublic SootMethod method()
method in interface MethodOrMethodContextpublic Context context()
context in interface MethodOrMethodContextpublic SootMethodRef makeRef()
Copyright © 2012-2019 RoboVM AB. All Rights Reserved.