public void convert(TypeDesc fromType, TypeDesc toType, int fpConvertMode) { switch (fpConvertMode) { default: convert(fromType, toType); break; case CONVERT_FP_BITS: println(mBulder + "convert(" + getTypeDescName(fromType) + ", " + getTypeDescName(toType) + ", " + mBulder + ".CONVERT_FP_BITS" + ')'); break; case CONVERT_FP_RAW_BITS: println(mBulder + "convert(" + getTypeDescName(fromType) + ", " + getTypeDescName(toType) + ", " + mBulder + ".CONVERT_FP_RAW_BITS" + ')'); break; } }
private String getLabelName(Location location) { if (location instanceof NamedLabel) { return ((NamedLabel)location).mName; } else { return ((NamedLabel)createLabel()).mName; } }
public void invokeVirtual(String methodName, TypeDesc ret, TypeDesc[] params) { println(mBulder + "invokeVirtual(\"" + methodName + "\", " + getTypeDescName(ret) + ", " + getTypeDescArrayName(params) + ')'); }
public void ifEqualBranch(Location location, boolean choice) { println(mBulder + "ifEqualBranch(" + getLabelName(location) + ", " + choice + ')'); }
public void loadField(String fieldName, TypeDesc type) { println(mBulder + "loadField(\"" + fieldName + "\", " + getTypeDescName(type) + ')'); }
public void invokeConstructor(TypeDesc[] params) { println(mBulder + "invokeConstructor(" + getTypeDescArrayName(params) + ')'); }
public void newObject(TypeDesc type, int dimensions) { if (dimensions == 0 && !type.isArray()) { newObject(type); } else { println(mBulder + "newObject(" + getTypeDescName(type) + ", " + dimensions + ')'); } }
public void loadConstant(TypeDesc type) { if (type == null) { loadNull(); } else { println(mBulder + "loadConstant(" + getTypeDescName(type) + ')'); } }
static String escape(String value) { return escape(value, false); }
public void mapLineNumber(int lineNumber) { separatorLine(); println(mBulder + "mapLineNumber(" + lineNumber + ')'); }
public void dup2() { println(mBulder + "dup2()"); }
(new CodeAssemblerPrinter(paramTypes, isStatic, mOut, indentStr, ";", "b."));
public void invokeInterface(String className, String methodName, TypeDesc ret, TypeDesc[] params) { println(mBulder + "invokeInterface(\"" + className + "\", \"" + methodName + "\", " + getTypeDescName(ret) + ", " + getTypeDescArrayName(params) + ')'); }
public void loadStaticField(TypeDesc classDesc, String fieldName, TypeDesc type) { println(mBulder + "loadStaticField(\"" + getTypeDescName(classDesc) + "\", \"" + fieldName + "\", " + getTypeDescName(type) + ')'); }
public void exceptionHandler(Location startLocation, Location endLocation, String catchClassName) { println(mBulder + "exceptionHandler(" + getLabelName(startLocation) + ", " + getLabelName(endLocation) + ", " + (catchClassName == null ? "null" : ('"' + catchClassName + '"')) + ')'); }
public void invokeSuperConstructor(TypeDesc[] params) { println(mBulder + "invokeSuperConstructor(" + getTypeDescArrayName(params) + ')'); }
public void newObject(TypeDesc type, int dimensions) { if (dimensions == 0 && !type.isArray()) { newObject(type); } else { println(mBulder + "newObject(" + getTypeDescName(type) + ", " + dimensions + ')'); } }
public void loadConstant(TypeDesc type) { if (type == null) { loadNull(); } else { println(mBulder + "loadConstant(" + getTypeDescName(type) + ')'); } }
private String escape(String str) { return CodeAssemblerPrinter.escape(str); }