Package soot.dotnet.members.method
Class DotnetBody
- java.lang.Object
-
- soot.dotnet.members.method.DotnetBody
-
public class DotnetBody extends Object
Represents a .NET Method Body A method body starts with a BlockContainer, which contains Blocks, which have IL Instructions .NET Method Body (with ILSpy AST) -> BlockContainer -> Block -> IL Instruction
-
-
Field Summary
Fields Modifier and Type Field Description BlockEntryPointsManagerblockEntryPointsManagerDotnetBodyVariableManagervariableManager
-
Constructor Summary
Constructors Constructor Description DotnetBody(DotnetMethod methodSignature, ProtoIlInstructions.IlFunctionMsg ilFunctionMsg)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ValuecreateTempVar(Body jb, Jimple jimple, Value inv)DotnetMethodgetDotnetMethodSig()Get method signature of this method bodystatic JimpleBodygetEmptyJimpleBody(SootMethod m)ProtoIlInstructions.IlFunctionMsggetFunctionMsg()static ValueinlineCastExpr(Value v)Due to three address code, inline cast exprvoidjimplify(JimpleBody jb)protected voidremoveDeadNewExpr(JimpleBody jb)protected voidrenameLocals(JimpleBody jb)static voidresolveEmptyJimpleBody(JimpleBody b, SootMethod m)protected voidrewriteConditionsToIfs(JimpleBody jb)
-
-
-
Field Detail
-
blockEntryPointsManager
public BlockEntryPointsManager blockEntryPointsManager
-
variableManager
public DotnetBodyVariableManager variableManager
-
-
Constructor Detail
-
DotnetBody
public DotnetBody(DotnetMethod methodSignature, ProtoIlInstructions.IlFunctionMsg ilFunctionMsg)
-
-
Method Detail
-
getDotnetMethodSig
public DotnetMethod getDotnetMethodSig()
Get method signature of this method body- Returns:
- method signature
-
getFunctionMsg
public ProtoIlInstructions.IlFunctionMsg getFunctionMsg()
-
jimplify
public void jimplify(JimpleBody jb)
-
renameLocals
protected void renameLocals(JimpleBody jb)
-
removeDeadNewExpr
protected void removeDeadNewExpr(JimpleBody jb)
-
rewriteConditionsToIfs
protected void rewriteConditionsToIfs(JimpleBody jb)
-
inlineCastExpr
public static Value inlineCastExpr(Value v)
Due to three address code, inline cast expr- Parameters:
v-- Returns:
-
getEmptyJimpleBody
public static JimpleBody getEmptyJimpleBody(SootMethod m)
-
resolveEmptyJimpleBody
public static void resolveEmptyJimpleBody(JimpleBody b, SootMethod m)
-
-