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;
@@ -32,15 +33,25 @@ import java.util.List;
public class UniversalLoopItem extends LoopItem implements Block {
public List<GraphTargetItem> commands;
private boolean labelUsed;
public UniversalLoopItem(GraphSourceItem src, Loop loop) {
super(src, loop);
}
@Override
protected HilightedTextWriter appendTo(HilightedTextWriter writer, LocalData localData) {
writer.startLoop(loop.id, LoopWithType.LOOP_TYPE_LOOP);
writer.append("loop" + 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_LOOP);
}
if (labelUsed) {
writer.append("loop" + loop.id + ":").newLine();
}
writer.append("while(true)").newLine();
writer.append("{").newLine();
writer.indent();
@@ -51,8 +62,10 @@ public class UniversalLoopItem 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;
}