highlighting refactored

This commit is contained in:
Honfika
2013-11-01 01:07:19 +01:00
parent 2cf26a4c31
commit d23c2dbe63
242 changed files with 1572 additions and 1075 deletions
@@ -16,8 +16,9 @@
*/
package com.jpexs.decompiler.graph.model;
import com.jpexs.decompiler.flash.helpers.HilightedTextWriter;
import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
import com.jpexs.decompiler.flash.helpers.LoopWithType;
import com.jpexs.decompiler.flash.helpers.NulWriter;
import com.jpexs.decompiler.graph.Block;
import com.jpexs.decompiler.graph.GraphSourceItem;
import com.jpexs.decompiler.graph.GraphTargetItem;
@@ -33,6 +34,7 @@ public class SwitchItem extends LoopItem implements Block {
public List<List<GraphTargetItem>> caseCommands;
public List<GraphTargetItem> defaultCommands;
public List<Integer> valuesMapping;
private boolean labelUsed;
@Override
public List<List<GraphTargetItem>> getSubs() {
@@ -52,9 +54,18 @@ public class SwitchItem extends LoopItem implements Block {
}
@Override
protected HilightedTextWriter appendTo(HilightedTextWriter writer, LocalData localData) {
writer.startLoop(loop.id, LoopWithType.LOOP_TYPE_SWITCH);
writer.append("loopswitch" + loop.id + ":").newLine();
public boolean needsSemicolon() {
return false;
}
@Override
protected GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
if (writer instanceof NulWriter) {
((NulWriter)writer).startLoop(loop.id, LoopWithType.LOOP_TYPE_SWITCH);
}
if (labelUsed) {
writer.append("loopswitch" + loop.id + ":").newLine();
}
writer.append("switch(");
switchedObject.toString(writer, localData);
writer.append(")").newLine();
@@ -91,8 +102,10 @@ public class SwitchItem extends LoopItem implements Block {
}
writer.unindent();
writer.append("}").newLine();
writer.append(":loop" + loop.id);
writer.endLoop(loop.id);
if (writer instanceof NulWriter) {
LoopWithType loopOjb = ((NulWriter)writer).endLoop(loop.id);
labelUsed = loopOjb.used;
}
return writer;
}