}
public void push(MethodBuilder mb) {
- //mb.getCodeBuilder().mapLineNumber(lineNumber);
+ int oldLineNumber = mb.lineNumber(lineNumber);
Val f = getFunction().getBinding();
Val[] ps = ValRef.getBindings(getParameters());
if(f instanceof Constant) {
mb.genericApply(ps.length);
mb.unbox(target.getType());
}
+ mb.lineNumber(oldLineNumber);
}
@Override
public void generateCode(MethodBuilder mb) {
if(!target.generateOnFly) {
+ mb.lineNumber(lineNumber);
push(mb);
mb.store(target);
}
public void bodyToString(PrintingContext context) {
if(context.getErrorMarker() == this)
context.append("!> ");
+ context.append("L" + lineNumber + ": ");
if(hasEffect()) {
context.append("<");
context.append(effect);
// Merge blocks
thisFunction.mergeBlocks(function);
- headBlock.setExit(new Jump(function.getFirstBlock().createOccurrence(),
- parameters));
+ headBlock.setExit(new Jump(lineNumber, function.getFirstBlock().createOccurrence(), parameters));
function.getReturnCont().replaceWith(tailBlock);
this.function.remove();