aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-11-06 20:51:35 +0100
committerGitHub <noreply@github.com>2023-11-06 20:51:35 +0100
commit239d3823fb438bdc9dc4b88a7b97a1cd10411085 (patch)
treef9814074f56bd0b85bcf70f0e088ee763c6a3b5c
parentebd259f9bc66031921b04ca0502c2f9c0a153023 (diff)
parent634608cfe7088bb106a5e63e2008e9f91c80b0ff (diff)
Merge pull request #29250 from vespa-engine/arnej/stop-producing-name-node
Arnej/stop producing name node
-rwxr-xr-xsearchlib/src/main/javacc/RankingExpressionParser.jj3
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/ReferenceTestCase.java2
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ArgumentsTestCase.java10
-rw-r--r--searchlib/src/test/java/com/yahoo/searchlib/rankingexpression/rule/ReferenceNodeTestCase.java14
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());