soot.jimple
Class JimpleBody

java.lang.Object
  extended by soot.tagkit.AbstractHost
      extended by soot.Body
          extended by soot.jimple.StmtBody
              extended by 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
 
Method Summary
 Object clone()
          Clones the current body, making deep copies of the contents.
 Stmt getFirstNonIdentityStmt()
          Returns the first non-identity stmt in this body.
 void insertIdentityStmts()
          Inserts usual statements for handling this & parameters into body.
 void validate()
          Make sure that the JimpleBody is well formed.
 void validateIdentityStatements()
          Checks the following invariants on this Jimple body: this-references may only occur in instance methods this-references may only occur as the first statement in a method, if they occur at all param-references must precede all statements that are not themselves param-references or this-references, if they occur at all
 
Methods inherited from class soot.Body
checkInit, getAllUnitBoxes, getDefBoxes, getLocalCount, getLocals, getMethod, getParameterLocal, getThisLocal, getTraps, getUnitBoxes, getUnits, getUseAndDefBoxes, getUseBoxes, importBodyContentsFrom, setMethod, toString, validateLocals, validateTraps, validateUnitBoxes, validateUses, validateValueBoxes
 
Methods inherited from class soot.tagkit.AbstractHost
addAllTagsOf, addTag, getTag, getTags, hasTag, removeAllTags, removeTag
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

clone

public Object clone()
Clones the current body, making deep copies of the contents.

Specified by:
clone in class Body

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.

Overrides:
validate in class Body

validateIdentityStatements

public void validateIdentityStatements()
Checks the following invariants on this Jimple body:
  1. this-references may only occur in instance methods
  2. this-references may only occur as the first statement in a method, if they occur at all
  3. param-references must precede all statements that are not themselves param-references or this-references, if they occur at all


insertIdentityStmts

public void insertIdentityStmts()
Inserts usual statements for handling this & parameters into body.


getFirstNonIdentityStmt

public Stmt getFirstNonIdentityStmt()
Returns the first non-identity stmt in this body.