diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-11-06 20:51:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-06 20:51:35 +0100 |
commit | 239d3823fb438bdc9dc4b88a7b97a1cd10411085 (patch) | |
tree | f9814074f56bd0b85bcf70f0e088ee763c6a3b5c | |
parent | ebd259f9bc66031921b04ca0502c2f9c0a153023 (diff) | |
parent | 634608cfe7088bb106a5e63e2008e9f91c80b0ff (diff) |
Merge pull request #29250 from vespa-engine/arnej/stop-producing-name-node
Arnej/stop producing name node
4 files changed, 14 insertions, 15 deletions
diff --git a/searchlib/src/main/javacc/RankingExpressionParser.jj b/searchlib/src/main/javacc/RankingExpressionParser.jj index 9b088825201..6cd01151dc1 100755 --- a/searchlib/src/main/javacc/RankingExpressionParser.jj +++ b/searchlib/src/main/javacc/RankingExpressionParser.jj @@ -16,6 +16,7 @@ PARSER_BEGIN(RankingExpressionParser) package com.yahoo.searchlib.rankingexpression.parser; +import com.yahoo.searchlib.rankingexpression.Reference; import com.yahoo.searchlib.rankingexpression.rule.*; import com.yahoo.searchlib.rankingexpression.evaluation.Value; import com.yahoo.searchlib.rankingexpression.evaluation.StringValue; @@ -300,7 +301,7 @@ ReferenceNode legacyQueryFeature() : { ( <DOLLAR> name = identifier() ) { - return new ReferenceNode("query", Arrays.asList((ExpressionNode)new NameNode(name)), null); + return new ReferenceNode(Reference.simple("query", name)); } } diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java index 5899d4fc07e..fd361d4aaa3 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java @@ -19,7 +19,6 @@ public class ReferenceTestCase { public void testSimple() { assertTrue(new Reference("foo", new Arguments(new ReferenceNode("arg")), null).isSimple()); assertTrue(new Reference("foo", new Arguments(new ReferenceNode("arg")), "out").isSimple()); - assertTrue(new Reference("foo", new Arguments(new NameNode("arg")), "out").isSimple()); assertFalse(new Reference("foo", new Arguments(), null).isSimple()); } @@ -27,7 +26,6 @@ public class ReferenceTestCase { public void testToString() { assertEquals("foo(arg_1)", new Reference("foo", new Arguments(new ReferenceNode("arg_1")), null).toString()); assertEquals("foo(arg_1).out", new Reference("foo", new Arguments(new ReferenceNode("arg_1")), "out").toString()); - assertEquals("foo(arg_1).out", new Reference("foo", new Arguments(new NameNode("arg_1")), "out").toString()); assertEquals("foo", new Reference("foo", new Arguments(), null).toString()); } diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java index 2d38c58703c..df91c78c1b4 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java @@ -21,8 +21,8 @@ public class ArgumentsTestCase { args = new Arguments(Collections.<ExpressionNode>emptyList()); assertTrue(args.expressions().isEmpty()); - NameNode foo = new NameNode("foo"); - NameNode bar = new NameNode("bar"); + var foo = new ReferenceNode("foo"); + var bar = new ReferenceNode("bar"); args = new Arguments(Arrays.asList(foo, bar)); assertEquals(2, args.expressions().size()); assertSame(foo, args.expressions().get(0)); @@ -31,9 +31,9 @@ public class ArgumentsTestCase { @Test public void requireThatHashCodeAndEqualsWork() { - Arguments arg1 = new Arguments(Arrays.asList(new NameNode("foo"), new NameNode("bar"))); - Arguments arg2 = new Arguments(Arrays.asList(new NameNode("foo"), new NameNode("bar"))); - Arguments arg3 = new Arguments(Arrays.asList(new NameNode("foo"))); + Arguments arg1 = new Arguments(Arrays.asList(new ReferenceNode("foo"), new ReferenceNode("bar"))); + Arguments arg2 = new Arguments(Arrays.asList(new ReferenceNode("foo"), new ReferenceNode("bar"))); + Arguments arg3 = new Arguments(Arrays.asList(new ReferenceNode("foo"))); assertEquals(arg1.hashCode(), arg2.hashCode()); assertTrue(arg1.equals(arg2)); diff --git a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ReferenceNodeTestCase.java b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ReferenceNodeTestCase.java index 225748bbc2e..7d0e0d6da84 100644 --- a/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ReferenceNodeTestCase.java +++ b/searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ReferenceNodeTestCase.java @@ -15,19 +15,19 @@ public class ReferenceNodeTestCase { @Test public void requireThatAccessorsWork() { - ReferenceNode node = new ReferenceNode("foo", Arrays.asList(new NameNode("bar"), new NameNode("baz")), "cox"); + ReferenceNode node = new ReferenceNode("foo", Arrays.asList(new ReferenceNode("bar"), new ReferenceNode("baz")), "cox"); assertEquals("foo", node.getName()); List<ExpressionNode> args = node.getArguments().expressions(); assertEquals(2, args.size()); - assertEquals(new NameNode("bar"), args.get(0)); - assertEquals(new NameNode("baz"), args.get(1)); + assertEquals(new ReferenceNode("bar"), args.get(0)); + assertEquals(new ReferenceNode("baz"), args.get(1)); assertEquals("cox", node.getOutput()); - node = node.setArguments(Arrays.<ExpressionNode>asList(new NameNode("bar'"))); - assertEquals(new NameNode("bar'"), node.getArguments().expressions().get(0)); + node = node.setArguments(Arrays.<ExpressionNode>asList(new ReferenceNode("bar@"))); + assertEquals(new ReferenceNode("bar@"), node.getArguments().expressions().get(0)); - node = node.setArguments(Arrays.<ExpressionNode>asList(new NameNode("baz'"))); - assertEquals(new NameNode("baz'"), node.getArguments().expressions().get(0)); + node = node.setArguments(Arrays.<ExpressionNode>asList(new ReferenceNode("baz$"))); + assertEquals(new ReferenceNode("baz$"), node.getArguments().expressions().get(0)); node = node.setOutput("cox'"); assertEquals("cox'", node.getOutput()); |