diff options
author | bjormel <bjormel@yahooinc.com> | 2023-10-01 12:23:12 +0000 |
---|---|---|
committer | bjormel <bjormel@yahooinc.com> | 2023-10-01 12:23:12 +0000 |
commit | e9058b555d4dfea2f6c872d9a677e8678b569569 (patch) | |
tree | fa1b67c6e39712c1e0d9f308b0dd55573b43f913 /indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ScriptExpression.java | |
parent | 0ad931fa86658904fe9212b014d810236b0e00e4 (diff) | |
parent | 16030193ec04ee41e98779a3d7ee6a6c1d0d0d6f (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.java | 18 |
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 |