Package soot.jimple
Class JimpleBody
- java.lang.Object
-
- soot.tagkit.AbstractHost
-
- soot.Body
-
- soot.jimple.StmtBody
-
- soot.jimple.JimpleBody
-
- All Implemented Interfaces:
Serializable,Host
public class JimpleBody extends StmtBody
Implementation of the Body class for the Jimple IR.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class soot.Body
localChain, method, trapChain, unitChain
-
Fields inherited from class soot.tagkit.AbstractHost
col, line, mTagList
-
-
Constructor Summary
Constructors Constructor Description JimpleBody()Construct an extremely empty JimpleBody, for parsing into.JimpleBody(SootMethod m)Construct an empty JimpleBody
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectclone()Clones the current body, making deep copies of the contents.Objectclone(boolean noLocalsClone)StmtgetFirstNonIdentityStmt()Returns the first non-identity stmt in this body.voidinsertIdentityStmts()Inserts usual statements for handling this & parameters into body.voidinsertIdentityStmts(SootClass declaringClass)Inserts usual statements for handling this & parameters into body.voidvalidate()Make sure that the JimpleBody is well formed.voidvalidate(List<ValidationException> exceptionList)Validates the jimple body and saves a list of all validation errorsvoidvalidateIdentityStatements()-
Methods inherited from class soot.Body
checkInit, getAllUnitBoxes, getDefBoxes, getLocalCount, getLocals, getMethod, getMethodUnsafe, getModificationCount, getParameterLocal, getParameterLocals, getParameterRefs, getThisLocal, getThisUnit, getTraps, getUnitBoxes, getUnits, getUseAndDefBoxes, getUseBoxes, importBodyContentsFrom, importBodyContentsFrom, runValidation, setMethod, toString, validateLocals, validateTraps, validateUnitBoxes, validateUses, validateValueBoxes
-
Methods inherited from class soot.tagkit.AbstractHost
addAllTagsOf, addTag, getJavaSourceStartColumnNumber, getJavaSourceStartLineNumber, getTag, getTags, hasTag, removeAllTags, removeTag
-
-
-
-
Constructor Detail
-
JimpleBody
public JimpleBody(SootMethod m)
Construct an empty JimpleBody- Parameters:
m-
-
JimpleBody
public JimpleBody()
Construct an extremely empty JimpleBody, for parsing into.
-
-
Method Detail
-
clone
public Object clone()
Clones the current body, making deep copies of the contents.
-
validate
public void validate()
Make sure that the JimpleBody is well formed. If not, throw an exception. Right now, performs only a handful of checks.
-
validate
public void validate(List<ValidationException> exceptionList)
Validates the jimple body and saves a list of all validation errors
-
validateIdentityStatements
public void validateIdentityStatements()
-
insertIdentityStmts
public void insertIdentityStmts()
Inserts usual statements for handling this & parameters into body.
-
insertIdentityStmts
public void insertIdentityStmts(SootClass declaringClass)
Inserts usual statements for handling this & parameters into body.- Parameters:
declaringClass- the class, which should be used for this references. Can be null for static methods
-
getFirstNonIdentityStmt
public Stmt getFirstNonIdentityStmt()
Returns the first non-identity stmt in this body.- Returns:
-
-