for(BranchRef branch : sw.getBranches()) {
if(branch.constructor == function) {
sw.destroy();
- setExit(new Jump(branch.cont.getBinding().createOccurrence(),
+ setExit(new Jump(sw.lineNumber, branch.cont.getBinding().createOccurrence(),
ValRef.copy(apply.getParameters())));
return true;
}
* [a]
*/
sw.destroy();
- setExit(new Jump(branch.cont.getBinding().createOccurrence()));
+ setExit(new Jump(sw.lineNumber, branch.cont.getBinding().createOccurrence()));
}
}
}
public void markGenerateOnFly() {
for(SSAStatement stat = firstStatement; stat != null; stat = stat.next)
- stat.markGenerateOnFly();
+ stat.markGenerateOnFly();
}
public SSABlock copy(CopyContext context) {
statement.forValRefs(visitor);
exit.forValRefs(visitor);
}
+
+ public void cleanup() {
+ for(SSAStatement statement = firstStatement;
+ statement != null; statement = statement.next)
+ statement.cleanup();
+ exit.cleanup();
+ }
}