soot.jimple.parser
Class JimpleAST

java.lang.Object
  |
  +--soot.jimple.parser.JimpleAST

public class JimpleAST
extends java.lang.Object

This class encapsulates a JimpleAST instance and provides methods to act on it.


Constructor Summary
JimpleAST(JimpleInputStream aJIS, SootResolver resolver)
          Constructs a JimpleAST and generates its parse tree from the given JimpleInputStream.
 
Method Summary
 SootClass createSootClass()
          Reads an entire class from jimple, creates the Soot objects & returns it.
 Body getBody(SootMethod m)
          Returns a body corresponding to the parsed jimple for m.
 java.util.Set getCstPool()
          Extracts the reference constant pool for this JimpleAST.
 SootResolver getResolver()
          Returns the SootResolver currently in use.
 void getSkeleton(SootClass sc)
          Applies a SkeletonExtractorWalker to the given SootClass, using the given Resolver to resolve the reference types it contains.
 void setResolver(SootResolver resolver)
          Sets the SootResolver used in this class as given.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JimpleAST

public JimpleAST(JimpleInputStream aJIS,
                 SootResolver resolver)
Constructs a JimpleAST and generates its parse tree from the given JimpleInputStream.
Parameters:
aInputStream - The JimpleInputStream to parse.
Method Detail

createSootClass

public SootClass createSootClass()
Reads an entire class from jimple, creates the Soot objects & returns it.

getSkeleton

public void getSkeleton(SootClass sc)
Applies a SkeletonExtractorWalker to the given SootClass, using the given Resolver to resolve the reference types it contains. The given SootClass instance will be filled to contain a class skeleton: that is no Body instances will be created for the class' methods.
Parameters:
sc - a SootClass to fill in.
resolver - used to resolve the reference types found the given SootClass instance.

getBody

public Body getBody(SootMethod m)
Returns a body corresponding to the parsed jimple for m. If necessary, applies the BodyExtractorWalker to initialize the bodies map.
Parameters:
m - the method we want to get a body for.
Returns:
the actual body for the given method.

getCstPool

public java.util.Set getCstPool()
Extracts the reference constant pool for this JimpleAST.
Returns:
the Set of RefTypes for the reference types contained this AST.

getResolver

public SootResolver getResolver()
Returns the SootResolver currently in use.

setResolver

public void setResolver(SootResolver resolver)
Sets the SootResolver used in this class as given.