diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-04-12 22:22:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-12 22:22:59 +0200 |
commit | 0f64c658ff7ac6d006d286f3c765812a5003feaa (patch) | |
tree | 580928dec7ce9e615ba0364465f37f19781372e7 /indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java | |
parent | f5dea0f0c237ba8eed0d18c6a41b7a9305cbe074 (diff) | |
parent | 878a918b39185800b7720510336e589deb13c301 (diff) |
Merge pull request #26668 from vespa-engine/bratseth/use-visitorv8.151.21
Replace reflection by visitor
Diffstat (limited to 'indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java')
-rw-r--r-- | indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java index 8516ddb883d..75f206ef47d 100644 --- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java +++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/StatementExpression.java @@ -5,6 +5,7 @@ import com.yahoo.document.DataType; import com.yahoo.language.Linguistics; import com.yahoo.language.process.Embedder; import com.yahoo.language.simple.SimpleLinguistics; +import com.yahoo.vespa.indexinglanguage.ExpressionConverter; import com.yahoo.vespa.indexinglanguage.ScriptParser; import com.yahoo.vespa.indexinglanguage.ScriptParserContext; import com.yahoo.vespa.indexinglanguage.parser.IndexingInput; @@ -15,6 +16,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -45,6 +47,14 @@ public final class StatementExpression extends ExpressionList<Expression> { public List<String> getInputFields() { return inputFields; } @Override + public StatementExpression convertChildren(ExpressionConverter converter) { + return new StatementExpression(asList().stream() + .map(child -> converter.convert(child)) + .filter(Objects::nonNull) + .toList()); + } + + @Override protected void doExecute(ExecutionContext context) { for (Expression expression : this) { context.execute(expression); |