GenCode: Reupload Assign Type-Switch wegen Mergeproblemen

This commit is contained in:
Fütterling, Franziska (WWI2012D) 2015-06-25 15:18:14 +02:00
parent 6dd922a263
commit b4d9cfbe0c

View File

@ -6,6 +6,7 @@ import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import org.apache.bcel.generic.ASTORE;
import org.apache.bcel.generic.ClassGen;
import org.apache.bcel.generic.ISTORE;
import org.apache.bcel.generic.InstructionFactory;
@ -171,7 +172,6 @@ public class Assign extends Expr
}
public static int counterAssign = 0; //Zaehlvariable für ISTORE
@Override
@ -180,8 +180,16 @@ public class Assign extends Expr
InstructionFactory _factory = new InstructionFactory(cg, cg.getConstantPool());
InstructionList il = expr2.genByteCode(cg);//expr2 rechte expr
counterAssign++;
il.append(new ISTORE(counterAssign)); //macht ISTORE für meherere Variable nutzbar (nicht nur ISTORE_1, ISTORE_2, etc.)
//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));
break;
case "String": il.append(new ASTORE(counterAssign));
break;
}
//System.out.println(expr2.getType().toString());
return il;
}