diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-09-14 13:26:32 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-09-14 13:26:32 +0200 |
commit | 50bcbfed78d2029b611b38ac9c7b251cf7c1361f (patch) | |
tree | 35095bc4e956adb5e608170e347bb42206554339 /searchlib | |
parent | 56e82a8d44f957f18a2f82e5bcad6079a11cee2d (diff) |
Create as list too
Diffstat (limited to 'searchlib')
-rwxr-xr-x | searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/IfNode.java | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/IfNode.java b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/IfNode.java index 92c6d6f8638..a3c70b1a244 100755 --- a/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/IfNode.java +++ b/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/rule/IfNode.java @@ -7,8 +7,6 @@ import com.yahoo.searchlib.rankingexpression.evaluation.Value; import com.yahoo.tensor.TensorType; import com.yahoo.tensor.evaluation.TypeContext; -import java.util.ArrayList; -import java.util.Collections; import java.util.Deque; import java.util.List; @@ -22,7 +20,8 @@ public final class IfNode extends CompositeNode { /** The expression nodes that make up this condition. */ private final ExpressionNode condition, trueExpression, falseExpression; - + /** Frequent calls to children() makes this caching necessary. Might skip the entries above and just keep them as list.*/ + private final List<ExpressionNode> asList; private final Double trueProbability; public IfNode(ExpressionNode condition, ExpressionNode trueExpression, ExpressionNode falseExpression) { @@ -46,15 +45,12 @@ public final class IfNode extends CompositeNode { this.trueProbability = trueProbability; this.trueExpression = trueExpression; this.falseExpression = falseExpression; + this.asList = List.of(condition, trueExpression, falseExpression); } @Override public List<ExpressionNode> children() { - List<ExpressionNode> children = new ArrayList<>(4); - children.add(condition); - children.add(trueExpression); - children.add(falseExpression); - return Collections.unmodifiableList(children); + return asList; } public ExpressionNode getCondition() { return condition; } |