soot.javaToJimple
Class AbstractJimpleBodyBuilder

java.lang.Object
  extended by soot.javaToJimple.AbstractJimpleBodyBuilder
Direct Known Subclasses:
AccessFieldJBB, CommaJBB, JimpleBodyBuilder

public abstract class AbstractJimpleBodyBuilder
extends Object


Field Summary
protected  JimpleBody body
           
 
Constructor Summary
AbstractJimpleBodyBuilder()
           
 
Method Summary
 AbstractJimpleBodyBuilder base()
           
 void base(AbstractJimpleBodyBuilder base)
           
protected  Value createAggressiveExpr(polyglot.ast.Expr expr, boolean reduceAggressively, boolean reverseCondIfNec)
           
protected  JimpleBody createJimpleBody(polyglot.ast.Block block, List formals, SootMethod sootMethod)
           
protected  Value createLHS(polyglot.ast.Expr expr)
           
protected  void createStmt(polyglot.ast.Stmt stmt)
           
 AbstractJimpleBodyBuilder ext()
           
 void ext(AbstractJimpleBodyBuilder ext)
           
protected  Local generateLocal(Type sootType)
           
protected  Local generateLocal(polyglot.types.Type polyglotType)
           
protected  Value getAssignRightLocal(polyglot.ast.Assign assign, Local leftLocal)
           
protected  Value getBaseLocal(polyglot.ast.Receiver receiver)
           
protected  Constant getConstant(Type sootType, int val)
           
protected  FieldRef getFieldRef(polyglot.ast.Field field)
           
protected  Value getSimpleAssignRightLocal(polyglot.ast.Assign assign)
           
protected  SootMethodRef getSootMethodRef(polyglot.ast.Call call)
           
protected  Local getThis(Type sootType)
           
protected  Local handlePrivateFieldAssignSet(polyglot.ast.Assign assign)
           
protected  Local handlePrivateFieldSet(polyglot.ast.Expr expr, Value right, Value base)
           
protected  Local handlePrivateFieldUnarySet(polyglot.ast.Unary unary)
           
protected  boolean needsAccessor(polyglot.ast.Expr expr)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

body

protected JimpleBody body
Constructor Detail

AbstractJimpleBodyBuilder

public AbstractJimpleBodyBuilder()
Method Detail

ext

public void ext(AbstractJimpleBodyBuilder ext)

ext

public AbstractJimpleBodyBuilder ext()

base

public void base(AbstractJimpleBodyBuilder base)

base

public AbstractJimpleBodyBuilder base()

createJimpleBody

protected JimpleBody createJimpleBody(polyglot.ast.Block block,
                                      List formals,
                                      SootMethod sootMethod)

createAggressiveExpr

protected Value createAggressiveExpr(polyglot.ast.Expr expr,
                                     boolean reduceAggressively,
                                     boolean reverseCondIfNec)

createStmt

protected void createStmt(polyglot.ast.Stmt stmt)

needsAccessor

protected boolean needsAccessor(polyglot.ast.Expr expr)

handlePrivateFieldAssignSet

protected Local handlePrivateFieldAssignSet(polyglot.ast.Assign assign)

handlePrivateFieldUnarySet

protected Local handlePrivateFieldUnarySet(polyglot.ast.Unary unary)

getAssignRightLocal

protected Value getAssignRightLocal(polyglot.ast.Assign assign,
                                    Local leftLocal)

getSimpleAssignRightLocal

protected Value getSimpleAssignRightLocal(polyglot.ast.Assign assign)

handlePrivateFieldSet

protected Local handlePrivateFieldSet(polyglot.ast.Expr expr,
                                      Value right,
                                      Value base)

getSootMethodRef

protected SootMethodRef getSootMethodRef(polyglot.ast.Call call)

generateLocal

protected Local generateLocal(Type sootType)

generateLocal

protected Local generateLocal(polyglot.types.Type polyglotType)

getThis

protected Local getThis(Type sootType)

getBaseLocal

protected Value getBaseLocal(polyglot.ast.Receiver receiver)

createLHS

protected Value createLHS(polyglot.ast.Expr expr)

getFieldRef

protected FieldRef getFieldRef(polyglot.ast.Field field)

getConstant

protected Constant getConstant(Type sootType,
                               int val)