diff --git a/src/me/ByteEdit/main/Assembler.java b/src/me/ByteEdit/main/Assembler.java index 14feef5..b490f5f 100644 --- a/src/me/ByteEdit/main/Assembler.java +++ b/src/me/ByteEdit/main/Assembler.java @@ -444,15 +444,22 @@ public class Assembler { String split3[] = value.substring(2, value.length() - 2).split(", "); List list = new ArrayList<>(); for (String rofl : split3) { - if (!rofl.startsWith("(")) { + if (rofl.startsWith("\"")) { + int index = rofl.lastIndexOf("\""); + list.add(rofl.substring(1, index)); + } else if (!rofl.startsWith("(")) { int index = rofl.indexOf(";"); list.add(new String[] { rofl.substring(0, index) + ";", rofl.substring(index).substring(2) }); } else { // anderer typ mit casten list.add(ClassUtil.getCastedValue(rofl.split(" ")[1], rofl.split("\\) ")[0].substring(1))); } } + node.values.add(list); } else { - if (!value.startsWith("(")) { + if (value.startsWith("\"")) { + int index = value.lastIndexOf("\""); + node.values.add(value.substring(1, index)); + } else if (!value.startsWith("(")) { int index = value.indexOf(";"); node.values.add(new String[] { value.substring(0, index) + ";", value.substring(index).substring(2) }); } else { // anderer typ mit casten diff --git a/src/me/ByteEdit/main/Disassembler.java b/src/me/ByteEdit/main/Disassembler.java index b57f811..a3ab87f 100644 --- a/src/me/ByteEdit/main/Disassembler.java +++ b/src/me/ByteEdit/main/Disassembler.java @@ -71,15 +71,19 @@ public class Disassembler { List list = (List) o; s += "{ "; for (Object obj : list) { - String[] arr = (String[]) obj; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - s += rofl + "/"; - w8ing = true; - } else { - s += rofl; + if (obj instanceof String[]) { + String[] arr = (String[]) obj; + boolean w8ing = false; + for (String rofl : arr) { + if (!w8ing) { + s += rofl + "/"; + w8ing = true; + } else { + s += rofl; + } } + } else { + s += "\"" + obj + "\""; } s += ", "; } @@ -155,15 +159,19 @@ public class Disassembler { List list = (List) o; s += "{ "; for (Object obj : list) { - String[] arr = (String[]) obj; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - s += rofl + "/"; - w8ing = true; - } else { - s += rofl; + if (obj instanceof String[]) { + String[] arr = (String[]) obj; + boolean w8ing = false; + for (String rofl : arr) { + if (!w8ing) { + s += rofl + "/"; + w8ing = true; + } else { + s += rofl; + } } + } else { + s += "\"" + obj + "\""; } s += ", "; } @@ -225,15 +233,19 @@ public class Disassembler { List list = (List) o; s += "{ "; for (Object obj : list) { - String[] arr = (String[]) obj; - boolean w8ing = false; - for (String rofl : arr) { - if (!w8ing) { - s += rofl + "/"; - w8ing = true; - } else { - s += rofl; + if (obj instanceof String[]) { + String[] arr = (String[]) obj; + boolean w8ing = false; + for (String rofl : arr) { + if (!w8ing) { + s += rofl + "/"; + w8ing = true; + } else { + s += rofl; + } } + } else { + s += "\"" + obj + "\""; } s += ", "; }