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

Function ListIndexFromQualifier

extensions/select_optimization.cc:233–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231}
232
233absl::StatusOr<size_t> ListIndexFromQualifier(const AttributeQualifier& qual) {
234 int64_t value = -1;
235 switch (qual.kind()) {
236 case Kind::kInt:
237 value = *qual.GetInt64Key();
238 break;
239 default:
240 // TODO(uncreated-issue/51): type-checker will reject an unsigned literal, but
241 // should be supported as a dyn / variable.
242 return runtime_internal::CreateNoMatchingOverloadError(
243 cel::builtin::kIndex);
244 }
245
246 if (value < 0) {
247 return absl::InvalidArgumentError("list index less than 0");
248 }
249
250 return static_cast<size_t>(value);
251}
252
253absl::StatusOr<Value> MapKeyFromQualifier(const AttributeQualifier& qual,
254 google::protobuf::Arena* absl_nonnull arena) {

Callers 1

ApplyQualifierFunction · 0.85

Calls 3

GetInt64KeyMethod · 0.80
kindMethod · 0.45

Tested by

no test coverage detected