diff options
Diffstat (limited to 'searchlib/src/apps/vespa-ranking-expression-analyzer/vespa-ranking-expression-analyzer.cpp')
-rw-r--r-- | searchlib/src/apps/vespa-ranking-expression-analyzer/vespa-ranking-expression-analyzer.cpp | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/searchlib/src/apps/vespa-ranking-expression-analyzer/vespa-ranking-expression-analyzer.cpp b/searchlib/src/apps/vespa-ranking-expression-analyzer/vespa-ranking-expression-analyzer.cpp index 550cd651c2b..7e8b5a85448 100644 --- a/searchlib/src/apps/vespa-ranking-expression-analyzer/vespa-ranking-expression-analyzer.cpp +++ b/searchlib/src/apps/vespa-ranking-expression-analyzer/vespa-ranking-expression-analyzer.cpp @@ -105,21 +105,11 @@ struct FunctionInfo { void check_in(const In *node) { if (node) { - auto lhs_symbol = as<Symbol>(node->lhs()); - auto rhs_symbol = as<Symbol>(node->rhs()); - if (lhs_symbol && node->rhs().is_const()) { - auto array = as<Array>(node->rhs()); - if (array) { - for (size_t i = 0; i < array->size(); ++i) { - inputs[lhs_symbol->id()].cmp_with.push_back(array->get(i).get_const_value()); - } - } else { - inputs[lhs_symbol->id()].cmp_with.push_back(node->rhs().get_const_value()); + if (auto symbol = as<Symbol>(node->child())) { + for (size_t i = 0; i < node->num_entries(); ++i) { + inputs[symbol->id()].cmp_with.push_back(node->get_entry(i).get_const_value()); } } - if (node->lhs().is_const() && rhs_symbol) { - inputs[rhs_symbol->id()].cmp_with.push_back(node->lhs().get_const_value()); - } } } |