aboutsummaryrefslogtreecommitdiffstats
path: root/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
diff options
context:
space:
mode:
authorbjormel <bjormel@yahooinc.com>2023-10-01 12:23:12 +0000
committerbjormel <bjormel@yahooinc.com>2023-10-01 12:23:12 +0000
commite9058b555d4dfea2f6c872d9a677e8678b569569 (patch)
treefa1b67c6e39712c1e0d9f308b0dd55573b43f913 /indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
parent0ad931fa86658904fe9212b014d810236b0e00e4 (diff)
parent16030193ec04ee41e98779a3d7ee6a6c1d0d0d6f (diff)
Merge branch 'master' into bjormel/aws-main-controller
Diffstat (limited to 'indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java')
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
index 1a640c9924e..f9ceed4cb34 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java
@@ -29,12 +29,12 @@ public final class ScriptExpression extends ExpressionList<StatementExpression>
this(Collections.emptyList());
}
- public ScriptExpression(StatementExpression... lst) {
- this(Arrays.asList(lst));
+ public ScriptExpression(StatementExpression... statements) {
+ this(Arrays.asList(statements));
}
- public ScriptExpression(Collection<? extends StatementExpression> lst) {
- super(lst, resolveInputType(lst));
+ public ScriptExpression(Collection<? extends StatementExpression> statements) {
+ super(statements, resolveInputType(statements));
}
@Override
@@ -67,10 +67,8 @@ public final class ScriptExpression extends ExpressionList<StatementExpression>
@Override
protected void doVerify(VerificationContext context) {
DataType input = context.getValueType();
- for (Expression exp : this) {
+ for (Expression exp : this)
context.setValueType(input).execute(exp);
- }
- context.setValueType(input);
}
private static DataType resolveInputType(Collection<? extends StatementExpression> list) {
@@ -81,7 +79,7 @@ public final class ScriptExpression extends ExpressionList<StatementExpression>
prev = next;
} else if (next != null && !prev.isAssignableFrom(next)) {
throw new VerificationException(ScriptExpression.class, "Statements require conflicting input types, " +
- prev.getName() + " vs " + next.getName() + ".");
+ prev.getName() + " vs " + next.getName());
}
}
return prev;
@@ -89,7 +87,9 @@ public final class ScriptExpression extends ExpressionList<StatementExpression>
@Override
public DataType createdOutputType() {
- return null;
+ var expressions = asList();
+ if (expressions.isEmpty()) return null;
+ return (expressions.get(expressions.size() - 1)).createdOutputType();
}
@Override