public abstract class AbstractJasminClass extends Object
Modifier and Type | Field and Description |
---|---|
protected Map<Block,Integer> |
blockToLogicalStackHeight |
protected Map<Block,Integer> |
blockToStackHeight |
protected List<String> |
code |
protected int |
currentStackHeight |
protected Map<Object,Integer> |
groupToColorCount |
protected boolean |
isEmittingMethodCode |
protected boolean |
isNextGotoAJsr |
protected int |
labelCount |
protected Map<Local,Integer> |
localToColor |
protected Map<Local,Object> |
localToGroup |
protected Map<Local,Integer> |
localToSlot |
protected int |
maxStackHeight |
protected int |
returnAddressSlot |
protected Map<Unit,Integer> |
subroutineToReturnAddressSlot |
protected Map<Unit,String> |
unitToLabel |
Constructor and Description |
---|
AbstractJasminClass(SootClass sootClass) |
Modifier and Type | Method and Description |
---|---|
static int |
argCountOf(SootMethodRef m) |
protected void |
assignColorsToLocals(Body body) |
protected String |
doubleToString(double d) |
protected String |
doubleToString(DoubleConstant v) |
protected void |
emit(String s) |
protected void |
emitMethod(SootMethod method) |
protected abstract void |
emitMethodBody(SootMethod method) |
protected String |
floatToString(float d) |
protected String |
floatToString(FloatConstant v) |
static String |
jasminDescriptorOf(SootMethodRef m) |
static String |
jasminDescriptorOf(Type type) |
protected void |
okayEmit(String s) |
void |
print(PrintWriter out) |
static int |
sizeOfType(Type t) |
static String |
slashify(String s) |
protected boolean isEmittingMethodCode
protected int labelCount
protected boolean isNextGotoAJsr
protected int returnAddressSlot
protected int currentStackHeight
protected int maxStackHeight
public AbstractJasminClass(SootClass sootClass)
public static int sizeOfType(Type t)
public static int argCountOf(SootMethodRef m)
public static String jasminDescriptorOf(SootMethodRef m)
protected void emit(String s)
protected void okayEmit(String s)
protected void assignColorsToLocals(Body body)
protected void emitMethod(SootMethod method)
protected abstract void emitMethodBody(SootMethod method)
public void print(PrintWriter out)
protected String doubleToString(DoubleConstant v)
protected String doubleToString(double d)
protected String floatToString(FloatConstant v)
protected String floatToString(float d)