package code.ast;
public class CodeUtil {
public static String insertTab(String code) {
String newString = "";
String[] lines = code.split("\n");
for (String line: lines) {
newString = newString + "\t" + line + "\n";
}
return newString;
}
public static String getToStringExp(String typeName, String rawExp) {
if (typeName.equals("int")) {
return "Integer.toString(" + rawExp + ")";
} else if (typeName.equals("float")) {
return "Float.toString(" + rawExp + ")";
} else if (typeName.equals("double")) {
return "Double.toString(" + rawExp + ")";
} else if (typeName.equals("boolean")) {
return "Boolean.toString(" + rawExp + ")";
} else {
return rawExp + ".toString()";
}
}
public static String getToValueExp(String typeName, String strExp) {
if (typeName.equals("int")) {
return "Integer.parseInt(" + strExp + ")";
} else if (typeName.equals("float")) {
return "Float.parseFloat(" + strExp + ")";
} else if (typeName.equals("double")) {
return "Double.parseDouble(" + strExp + ")";
} else if (typeName.equals("boolean")) {
return "Boolean.parseBoolean(" + strExp + ")";
} else if (typeName.startsWith("ArrayList") || typeName.startsWith("List")) {
return "Arrays.asList(" + strExp + ".replace(\"[\",\"\").replace(\"]\",\"\").split(\",\",0))";
} else {
return strExp;
}
}
}