/* * @see ASTVisitor#visit(LabeledStatement) */ @Override public boolean visit(LabeledStatement node) { node.getLabel().accept(this); this.fBuffer.append(": "); // $NON-NLS-1$ node.getBody().accept(this); return false; }
public void testLinenoLabel() { AstRoot root = parse("\nfoo:\n" + "a = 1;\n" + "bar:\n" + "b = 2;\n"); LabeledStatement firstStmt = (LabeledStatement) root.getFirstChild(); LabeledStatement secondStmt = (LabeledStatement) firstStmt.getNext(); assertEquals(1, firstStmt.getLineno()); assertEquals(3, secondStmt.getLineno()); }
@Override protected void checkValidLabeledStatement(final LabeledStatement labelDeclaration) { if (!(labelDeclaration.getStatement() instanceof LoopStatement)) { throw Jooc.error( this, "label '" + getOptLabel().getName() + "' does not reference a loop statement"); } }
@Override public Void visitLabeledStatement(LabeledStatement node) { visitList(node.getLabels(), " ", " "); visit(node.getStatement()); return null; }