comma operator in while condition

AS1/2 switch fix
This commit is contained in:
Jindra Pet��k
2013-04-19 23:08:53 +02:00
parent 78704d9d02
commit ca5a7b9ab4
11 changed files with 131 additions and 56 deletions
@@ -193,7 +193,7 @@ public class ActionPush extends Action {
case ASMParsedSymbol.TYPE_COMMENT:
break;
default:
throw new ParseException("Arguments expected, "+symb.type+" "+symb.value+" found", lexer.yyline());
throw new ParseException("Arguments expected, " + symb.type + " " + symb.value + " found", lexer.yyline());
}
@@ -290,34 +290,34 @@ public class ActionPush extends Action {
}
}
/*if (o instanceof RegisterNumber) {
if (regNames.containsKey(((RegisterNumber) o).number)) {
((RegisterNumber) o).name = regNames.get(((RegisterNumber) o).number);
} else if (output.size() >= 2) { //chained assignments:, ignore for class prototype assignment
GraphTargetItem last = output.get(output.size() - 1);
GraphTargetItem prev = output.get(output.size() - 2);
if (last instanceof SetTypeTreeItem) {
if (prev instanceof StoreRegisterTreeItem) {
StoreRegisterTreeItem str = (StoreRegisterTreeItem) prev;
if (str.register.number == ((RegisterNumber) o).number) {
SetTypeTreeItem stt = (SetTypeTreeItem) last;
stt.setTempRegister(((RegisterNumber) o).number);
if ((stt.getValue() instanceof IncrementTreeItem) && (((IncrementTreeItem) stt.getValue()).object.equals(stt.getObject()))) {
stack.push(new PreIncrementTreeItem(this, stt.getObject()));
} else if ((stt.getValue() instanceof DecrementTreeItem) && (((DecrementTreeItem) stt.getValue()).object.equals(stt.getObject()))) {
stack.push(new PreDecrementTreeItem(this, stt.getObject()));
} else {
//stack.push(last);
continue;
}
output.remove(output.size() - 1);
output.remove(output.size() - 1);
pos++;
continue;
}
}
}
}
}*/
if (regNames.containsKey(((RegisterNumber) o).number)) {
((RegisterNumber) o).name = regNames.get(((RegisterNumber) o).number);
} else if (output.size() >= 2) { //chained assignments:, ignore for class prototype assignment
GraphTargetItem last = output.get(output.size() - 1);
GraphTargetItem prev = output.get(output.size() - 2);
if (last instanceof SetTypeTreeItem) {
if (prev instanceof StoreRegisterTreeItem) {
StoreRegisterTreeItem str = (StoreRegisterTreeItem) prev;
if (str.register.number == ((RegisterNumber) o).number) {
SetTypeTreeItem stt = (SetTypeTreeItem) last;
stt.setTempRegister(((RegisterNumber) o).number);
if ((stt.getValue() instanceof IncrementTreeItem) && (((IncrementTreeItem) stt.getValue()).object.equals(stt.getObject()))) {
stack.push(new PreIncrementTreeItem(this, stt.getObject()));
} else if ((stt.getValue() instanceof DecrementTreeItem) && (((DecrementTreeItem) stt.getValue()).object.equals(stt.getObject()))) {
stack.push(new PreDecrementTreeItem(this, stt.getObject()));
} else {
//stack.push(last);
continue;
}
output.remove(output.size() - 1);
output.remove(output.size() - 1);
pos++;
continue;
}
}
}
}
}*/
DirectValueTreeItem dvt = new DirectValueTreeItem(this, pos, o, constantPool);
stack.push(dvt);
if (o instanceof RegisterNumber) {