@Override public void visitLineNumber(int line, Label start) { LabelNode ln = getLabelNode(start); lineNumberNodes.put(instructions.size(), new LineNumberNode(line, ln)); }
public LabelNode writeLabel(MethodNode mv, int lineNumber){ LabelNode node = new LabelNode(new Label()); mv.instructions.add(node); if (lineNumber != -1) mv.instructions.add(new LineNumberNode(lineNumber, node)); return node; }
public void writeLineNumber(Token token) { if (token.getMeta().getStartLine() > lastLineNumber) { lastLineNumber = token.getMeta().getStartLine(); code.add(new LineNumberNode(lastLineNumber, new LabelNode())); } }
@Override public void write(WhileStmtToken token) { expr.writeDefineVariables(token.getLocal()); LabelNode start = expr.writeLabel(node, token.getMeta().getStartLine()); LabelNode end = new LabelNode(); expr.writeConditional(token.getCondition(), end); method.pushJump(end, start); expr.write(BodyStmtToken.class, token.getBody()); method.popJump(); add(new JumpInsnNode(GOTO, start)); add(end); add(new LineNumberNode(token.getMeta().getEndLine(), end)); expr.writeUndefineVariables(token.getLocal()); } }
private void writeBody(IfStmtToken token) { LabelNode end = new LabelNode(); LabelNode elseL = new LabelNode(); expr.writePopBoolean(); add(new JumpInsnNode(IFEQ, token.getElseBody() != null ? elseL : end)); expr.stackPop(); if (token.getBody() != null) { expr.write(token.getBody()); } if (token.getElseBody() != null){ add(new JumpInsnNode(GOTO, end)); add(elseL); expr.write(token.getElseBody()); } add(end); add(new LineNumberNode(token.getMeta().getEndLine(), end)); }
add(new LineNumberNode(token.getMeta().getEndLine(), end)); expr.writeUndefineVariables(token.getLocal());
@Override public void write(DoStmtToken token) { expr.writeDefineVariables(token.getLocal()); LabelNode start = expr.writeLabel(node, token.getMeta().getStartLine()); LabelNode end = new LabelNode(); method.pushJump(end, start); expr.write(token.getBody()); method.popJump(); expr.writeConditional(token.getCondition(), end); add(new JumpInsnNode(GOTO, start)); add(end); add(new LineNumberNode(token.getMeta().getEndLine(), end)); expr.writeUndefineVariables(token.getLocal()); } }
add(end); add(new LineNumberNode(token.getMeta().getEndLine(), end)); method.prevStatementIndex(Memory.class); expr.writeUndefineVariables(token.getLocal());
@Override public AbstractInsnNode clone(final Map<LabelNode, LabelNode> labels) { return new LineNumberNode(line, clone(start, labels)); } }
public CodeBlock visitLineNumber(final int lineNumber, final LabelNode start) { instructionList.add(new LineNumberNode(lineNumber, start)); return this; }
@Override public AbstractInsnNode clone(final Map<LabelNode, LabelNode> clonedLabels) { return new LineNumberNode(line, clone(start, clonedLabels)); } }
public CodeBlock visitLineNumber(final int lineNumber, final LabelNode start) { instructionList.add(new LineNumberNode(lineNumber, start)); return this; }
public void addLabel(int line, LabelNode label, Object... comments) { addInstruction(label, comments); if (line != 0) { addInstruction(new LineNumberNode(line, label), comments); } }
@Override public void visitLineNumber(final int line, final Label start) { instructions.add(new LineNumberNode(line, getLabelNode(start))); }
@Override public void visitLineNumber(final int line, final Label start) { instructions.add(new LineNumberNode(line, getLabelNode(start))); }
@Override public void visit(Line node) { LabelNode l = new LabelNode(); il.add(l); il.add(new LineNumberNode(node.lineNumber(), l)); }
@Override public void visitLineNumber(int arg0, Label arg1) { super.visitLineNumber(arg0, arg1); appendToBacklog(new LineNumberNode(arg0, new LabelNode(arg1))); }
@Override public void visitLineNumber(int arg0, Label arg1) { super.visitLineNumber(arg0, arg1); appendToBacklog(new LineNumberNode(arg0, new LabelNode(arg1))); }
new LineNumberNode(constructor.lineForLoad, start));
constructor.loadThis, new LineNumberNode(constructor.lineForLoad, start));