ICont bodyContinuation = body.getContinuation();
CodeWriter end = w.createBlock();
- w.jump(body.getContinuation(), IntegerConstant.ZERO);
+ w.jump(location, body.getContinuation(), IntegerConstant.ZERO);
IVal index = body.getParameters()[0];
- body.branchAwayIf(body.apply(location, JavaComparisonOperation.IEQUAL, index, listLength),
+ body.branchAwayIf(location, body.apply(location, JavaComparisonOperation.IEQUAL, index, listLength),
end.getContinuation());
variable.setVal(body.apply(location, ListElement.INSTANCE.createSpecialization(componentType), listValue, index));
nextOp(body);
if(body.isUnfinished())
- body.jump(bodyContinuation, body.apply(location, IncreaseByOne.INSTANCE, index));
+ body.jump(location, bodyContinuation, body.apply(location, IncreaseByOne.INSTANCE, index));
w.continueAs(end);
}
CodeWriter end = w.createBlock();
CodeWriter body = w.createBlock(componentType);
- w.switch_(maybeValue, new Branch[] {
+ w.switch_(location, maybeValue, new Branch[] {
new Branch(JustConstant.INSTANCE, body.getContinuation()),
new Branch(null, end.getContinuation())
});
variable.setVal(body.getParameters()[0]);
nextOp(body);
if(body.isUnfinished())
- body.jump(end.getContinuation());
+ body.jump(location, end.getContinuation());
w.continueAs(end);
}
public void check(long location, CodeWriter w, IVal booleanValue) {
CodeWriter end = w.createBlock();
- w.branchAwayUnless(booleanValue, end.getContinuation());
+ w.branchAwayUnless(location, booleanValue, end.getContinuation());
nextOp(w);
if(w.isUnfinished())
- w.jump(end.getContinuation());
+ w.jump(location, end.getContinuation());
w.continueAs(end);
}
CodeWriter end = w.createBlock();
CodeWriter body = w.createBlock(componentType);
- w.switch_(maybeValue, new Branch[] {
+ w.switch_(location, maybeValue, new Branch[] {
new Branch(JustConstant.INSTANCE, body.getContinuation()),
new Branch(null, end.getContinuation())
});
- body.branchAwayUnless(body.apply(location,
+ body.branchAwayUnless(location, body.apply(location,
EqualsFunction.INSTANCE.createSpecialization(componentType),
value, body.getParameters()[0]), end.getContinuation());
nextOp(body);
if(body.isUnfinished())
- body.jump(end.getContinuation());
+ body.jump(location, end.getContinuation());
w.continueAs(end);
}