| 174 | } |
| 175 | |
| 176 | std::vector<cel::FunctionRegistry::LazyOverload> Resolver::FindLazyOverloads( |
| 177 | absl::string_view name, bool receiver_style, |
| 178 | const std::vector<cel::Kind>& types, int64_t expr_id) const { |
| 179 | // Resolve the fully qualified names and then search the function registry |
| 180 | // for possible matches. |
| 181 | std::vector<cel::FunctionRegistry::LazyOverload> funcs; |
| 182 | auto names = FullyQualifiedNames(name, expr_id); |
| 183 | for (const auto& name : names) { |
| 184 | funcs = function_registry_.FindLazyOverloads(name, receiver_style, types); |
| 185 | if (!funcs.empty()) { |
| 186 | return funcs; |
| 187 | } |
| 188 | } |
| 189 | return funcs; |
| 190 | } |
| 191 | |
| 192 | std::vector<cel::FunctionRegistry::LazyOverload> Resolver::FindLazyOverloads( |
| 193 | absl::string_view name, bool receiver_style, size_t arity, |