Package soot.javaToJimple
Class AbstractJimpleBodyBuilder
- java.lang.Object
-
- soot.javaToJimple.AbstractJimpleBodyBuilder
-
- Direct Known Subclasses:
AccessFieldJBB,CommaJBB,JimpleBodyBuilder
public abstract class AbstractJimpleBodyBuilder extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected JimpleBodybody
-
Constructor Summary
Constructors Constructor Description AbstractJimpleBodyBuilder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AbstractJimpleBodyBuilderbase()voidbase(AbstractJimpleBodyBuilder base)protected ValuecreateAggressiveExpr(polyglot.ast.Expr expr, boolean reduceAggressively, boolean reverseCondIfNec)protected JimpleBodycreateJimpleBody(polyglot.ast.Block block, List formals, SootMethod sootMethod)protected ValuecreateLHS(polyglot.ast.Expr expr)protected voidcreateStmt(polyglot.ast.Stmt stmt)AbstractJimpleBodyBuilderext()voidext(AbstractJimpleBodyBuilder ext)protected LocalgenerateLocal(polyglot.types.Type polyglotType)protected LocalgenerateLocal(Type sootType)protected ValuegetAssignRightLocal(polyglot.ast.Assign assign, Local leftLocal)protected ValuegetBaseLocal(polyglot.ast.Receiver receiver)protected ConstantgetConstant(Type sootType, int val)protected FieldRefgetFieldRef(polyglot.ast.Field field)protected ValuegetSimpleAssignRightLocal(polyglot.ast.Assign assign)protected SootMethodRefgetSootMethodRef(polyglot.ast.Call call)protected LocalgetThis(Type sootType)protected LocalhandlePrivateFieldAssignSet(polyglot.ast.Assign assign)protected LocalhandlePrivateFieldSet(polyglot.ast.Expr expr, Value right, Value base)protected LocalhandlePrivateFieldUnarySet(polyglot.ast.Unary unary)protected booleanneedsAccessor(polyglot.ast.Expr expr)
-
-
-
Field Detail
-
body
protected JimpleBody body
-
-
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(polyglot.types.Type polyglotType)
-
getBaseLocal
protected Value getBaseLocal(polyglot.ast.Receiver receiver)
-
createLHS
protected Value createLHS(polyglot.ast.Expr expr)
-
getFieldRef
protected FieldRef getFieldRef(polyglot.ast.Field field)
-
-