Issue #258 AS1/2 chained assignments

AS1/2 Detecting temporary registers
assignment spaces
This commit is contained in:
Jindra Pet��k
2013-07-31 22:21:50 +02:00
parent 25efe3793f
commit c63fd4ebd9
21 changed files with 193 additions and 30 deletions
@@ -578,7 +578,7 @@ public class Graph {
List<GraphTargetItem> ret = printGraph(new ArrayList<GraphPart>(), localData, stack, allParts, null, heads.get(0), null, loops, staticOperation, path);
processIfs(ret);
finalProcessStack(stack, ret);
finalProcessAll(ret, 0);
finalProcessAll(ret, 0, new ArrayList<>());
return ret;
@@ -587,19 +587,19 @@ public class Graph {
public void finalProcessStack(Stack<GraphTargetItem> stack, List<GraphTargetItem> output) {
}
private void finalProcessAll(List<GraphTargetItem> list, int level) {
finalProcess(list, level);
private void finalProcessAll(List<GraphTargetItem> list, int level, List<Object> localData) {
finalProcess(list, level, localData);
for (GraphTargetItem item : list) {
if (item instanceof Block) {
List<List<GraphTargetItem>> subs = ((Block) item).getSubs();
for (List<GraphTargetItem> sub : subs) {
finalProcessAll(sub, level + 1);
finalProcessAll(sub, level + 1, localData);
}
}
}
}
protected void finalProcess(List<GraphTargetItem> list, int level) {
protected void finalProcess(List<GraphTargetItem> list, int level, List<Object> localData) {
}
private void processIfs(List<GraphTargetItem> list) {