MCPcopy Create free account
hub / github.com/cel-expr/cel-cpp / ResolveStatic

Function ResolveStatic

eval/eval/function_step.cc:286–303  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

284}
285
286absl::StatusOr<ResolveResult> ResolveStatic(
287 absl::Span<const cel::Value> input_args,
288 absl::Span<const cel::FunctionOverloadReference> overloads) {
289 ResolveResult result = absl::nullopt;
290
291 for (const auto& overload : overloads) {
292 if (ArgumentKindsMatch(overload.descriptor, input_args)) {
293 // More than one overload matches our arguments.
294 if (result.has_value()) {
295 return absl::Status(absl::StatusCode::kInternal,
296 "Cannot resolve overloads");
297 }
298
299 result.emplace(overload);
300 }
301 }
302 return result;
303}
304
305absl::StatusOr<ResolveResult> ResolveLazy(
306 absl::Span<const cel::Value> input_args, absl::string_view name,

Callers 2

ResolveFunctionMethod · 0.85
ResolveMethod · 0.85

Calls 2

ArgumentKindsMatchFunction · 0.85
has_valueMethod · 0.45

Tested by

no test coverage detected