summaryrefslogtreecommitdiffstats
path: root/indexinglanguage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-01-13 12:02:22 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2024-01-13 12:02:22 +0100
commitaa894f7341b2e4388afdd8776da120205bb7c1db (patch)
tree31a0240257974a915062cbb1294e601e918d21f3 /indexinglanguage
parenta393f0a47e0317bf58f82a1a5158bd3e75499904 (diff)
- Require non-null inner expression in foreach.
- Let null conversion buble up.
Diffstat (limited to 'indexinglanguage')
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ForEachExpression.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ForEachExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ForEachExpression.java
index b7339975503..25ac948c435 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ForEachExpression.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ForEachExpression.java
@@ -11,6 +11,8 @@ import com.yahoo.vespa.indexinglanguage.FieldValueConverter;
import com.yahoo.vespa.objects.ObjectOperation;
import com.yahoo.vespa.objects.ObjectPredicate;
+import java.util.Objects;
+
/**
* @author Simon Thoresen Hult
*/
@@ -20,7 +22,7 @@ public final class ForEachExpression extends CompositeExpression {
public ForEachExpression(Expression exp) {
super(UnresolvedDataType.INSTANCE);
- this.exp = exp;
+ this.exp = Objects.requireNonNull(exp);
}
public Expression getInnerExpression() {
@@ -29,7 +31,8 @@ public final class ForEachExpression extends CompositeExpression {
@Override
public ForEachExpression convertChildren(ExpressionConverter converter) {
- return new ForEachExpression(converter.convert(exp));
+ Expression converted = converter.convert(exp);
+ return converted != null ? new ForEachExpression(converted) : null;
}
@Override