diff --git a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java b/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java index dda29d3ff..47d682168 100755 --- a/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java +++ b/src/de/dhbwstuttgart/syntaxtree/statement/Assign.java @@ -182,14 +182,16 @@ public class Assign extends Expr counterAssign++; //il.append(new ISTORE(counterAssign)); //macht ISTORE für meherere Variable nutzbar (nicht nur ISTORE_1, ISTORE_2, etc.) //Anpassung für Variablen außerhalb von int = ISTORE nötig? - switch(expr2.getType().toString()){//welche rückgabewerte entstehen hier??? Integer und String scheinen nicht zu stimmen - case "Integer": il.append(new ISTORE(counterAssign)); + + String expr2Type = expr2.getType().get_Name().toString(); + switch(expr2Type){//welche rückgabewerte entstehen hier??? Integer und String scheinen nicht zu stimmen + case "java.lang.Integer": il.append(new ISTORE(counterAssign)); break; - case "String": il.append(new ASTORE(counterAssign)); + case "java.lang.String": il.append(new ASTORE(counterAssign)); break; } - //System.out.println(expr2.getType().toString()); + return il; } diff --git a/test/bytecode/StringLitTest.jav b/test/bytecode/StringLitTest.jav index b85967507..d86c0e377 100644 --- a/test/bytecode/StringLitTest.jav +++ b/test/bytecode/StringLitTest.jav @@ -1,7 +1,7 @@ class StringLitTest{ -void method() { s; s = ""; } +void method() { s; s = "abcdefg"; } } \ No newline at end of file