summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-10-01 05:46:22 +0200
committerJon Bratseth <bratseth@oath.com>2018-10-01 05:46:22 +0200
commit9c80048457caab3881f3319aadd0990f65c04937 (patch)
treed180b1a6a866b53e0c23657a31ebe836d641911f /searchlib
parent8d80010a385f40d4bb852e6b11810692a67e90ed (diff)
Include argument type information in functions
Diffstat (limited to 'searchlib')
-rwxr-xr-xsearchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java
index f6502a9801d..787b857839d 100755
--- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java
+++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/ExpressionFunction.java
@@ -11,6 +11,7 @@ import com.yahoo.text.Utf8;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Deque;
import java.util.HashMap;
@@ -97,7 +98,12 @@ public class ExpressionFunction {
return new ExpressionFunction(name, arguments, body, argumentTypes, Optional.of(returnType));
}
- public ExpressionFunction withArgumentTypes(Map<String, TensorType> argumentTypes) {
+ /** Returns a copy of this with the given argument and argument type added */
+ public ExpressionFunction withArgument(String argument, TensorType type) {
+ List<String> arguments = new ArrayList<>(this.arguments);
+ arguments.add(argument);
+ Map<String, TensorType> argumentTypes = new HashMap<>(this.argumentTypes);
+ argumentTypes.put(argument, type);
return new ExpressionFunction(name, arguments, body, argumentTypes, returnType);
}