summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-02-13 13:17:26 +0100
committerJon Bratseth <bratseth@oath.com>2018-02-13 13:17:26 +0100
commitc17b1582face7c7f31fea7e151a5855908fe04f5 (patch)
treef8bee44d00de3945b17bf08fbd5c963c5d07b41f /config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
parent101e046bb6df5a3269331600228c75c372102979 (diff)
Typecheck all WIP
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
index d1a29271014..51c7618acff 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/RankProfile.java
@@ -33,6 +33,7 @@ import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* Represents a rank profile - a named set of ranking settings
@@ -747,7 +748,9 @@ public class RankProfile implements Serializable, Cloneable {
* referable from this rank profile.
*/
public TypeContext typeContext(QueryProfileRegistry queryProfiles) {
- MapTypeContext context = new MapTypeContext();
+ MapEvaluationTypeContext context = new MapEvaluationTypeContext(getMacros().values().stream()
+ .map(Macro::asExpressionFunction)
+ .collect(Collectors.toList()));
// Add small constants
getConstants().forEach((k, v) -> context.setType(FeatureNames.asConstantFeature(k), v.type()));
@@ -955,7 +958,7 @@ public class RankProfile implements Serializable, Cloneable {
return inline && formalParams.size() == 0; // only inline no-arg macros;
}
- public ExpressionFunction toExpressionMacro() {
+ public ExpressionFunction asExpressionFunction() {
return new ExpressionFunction(getName(), getFormalParams(), getRankingExpression());
}