Search in sources :

Example 1 with ContinueStatementContext

use of org.apache.groovy.parser.antlr4.GroovyParser.ContinueStatementContext in project groovy by apache.

the class AstBuilder method visitContinueStatement.

@Override
public ContinueStatement visitContinueStatement(final ContinueStatementContext ctx) {
    if (visitingLoopStatementCount == 0) {
        throw createParsingFailedException("continue statement is only allowed inside loops", ctx);
    }
    GroovyParserRuleContext gprc = switchExpressionRuleContextStack.peek();
    if (gprc instanceof SwitchExpressionContext) {
        throw createParsingFailedException("switch expression does not support `continue`", ctx);
    }
    String label = asBoolean(ctx.identifier()) ? this.visitIdentifier(ctx.identifier()) : null;
    return configureAST(new ContinueStatement(label), ctx);
}
Also used : GroovyParserRuleContext(org.apache.groovy.parser.antlr4.GroovyParser.GroovyParserRuleContext) SwitchExpressionContext(org.apache.groovy.parser.antlr4.GroovyLangParser.SwitchExpressionContext) ContinueStatement(org.codehaus.groovy.ast.stmt.ContinueStatement)

Aggregations

SwitchExpressionContext (org.apache.groovy.parser.antlr4.GroovyLangParser.SwitchExpressionContext)1 GroovyParserRuleContext (org.apache.groovy.parser.antlr4.GroovyParser.GroovyParserRuleContext)1 ContinueStatement (org.codehaus.groovy.ast.stmt.ContinueStatement)1