GenCode: Assign kann nun zwischen Int und String switchen.
StringLit-Test ergab, dass es - wie befürchtet - Probleme mit der korrekten Vergabe von Indizes gibt.
This commit is contained in:
parent
5fbb4f0d61
commit
d50206a519
@ -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;
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
class StringLitTest{
|
||||
|
||||
|
||||
void method() { s; s = ""; }
|
||||
void method() { s; s = "abcdefg"; }
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user