use of org.elasticsearch.painless.node.SFor in project elasticsearch by elastic.
the class Walker method visitFor.
@Override
public ANode visitFor(ForContext ctx) {
reserved.peek().setMaxLoopCounter(settings.getMaxLoopCounter());
ANode initializer = ctx.initializer() == null ? null : visit(ctx.initializer());
AExpression expression = ctx.expression() == null ? null : (AExpression) visit(ctx.expression());
AExpression afterthought = ctx.afterthought() == null ? null : (AExpression) visit(ctx.afterthought());
if (ctx.trailer() != null) {
SBlock block = (SBlock) visit(ctx.trailer());
return new SFor(location(ctx), initializer, expression, afterthought, block);
} else if (ctx.empty() != null) {
return new SFor(location(ctx), initializer, expression, afterthought, null);
} else {
throw location(ctx).createError(new IllegalStateException("Illegal tree structure."));
}
}
Aggregations