summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-03-25 18:49:33 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-03-25 18:50:59 +0000
commitef7cb2b999436c7cf2939ba876b3e2c675824a7a (patch)
tree87f05df7c76cf2bbebc64ddb1036cb8c6b1b2692 /searchlib
parenta77eedb743ee2cbc4241816545952be8e033b070 (diff)
Avoid dynamic_cast to select location nodes.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/query/tree/node.h1
-rw-r--r--searchlib/src/vespa/searchlib/query/tree/termnodes.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/query/tree/node.h b/searchlib/src/vespa/searchlib/query/tree/node.h
index a5d0479866f..2ad6237a1fd 100644
--- a/searchlib/src/vespa/searchlib/query/tree/node.h
+++ b/searchlib/src/vespa/searchlib/query/tree/node.h
@@ -18,6 +18,7 @@ class Node {
virtual ~Node() = default;
virtual void accept(QueryVisitor &visitor) = 0;
virtual bool isIntermediate() const { return false; }
+ virtual bool isLocationTerm() const { return false; }
};
}
diff --git a/searchlib/src/vespa/searchlib/query/tree/termnodes.h b/searchlib/src/vespa/searchlib/query/tree/termnodes.h
index e112fd6e295..3eda0732470 100644
--- a/searchlib/src/vespa/searchlib/query/tree/termnodes.h
+++ b/searchlib/src/vespa/searchlib/query/tree/termnodes.h
@@ -86,6 +86,7 @@ public:
int32_t id, Weight weight)
: QueryNodeMixinType(term, view, id, weight)
{}
+ bool isLocationTerm() const override { return true; }
virtual ~LocationTerm() = 0;
};