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

Method Evaluate

eval/eval/equality_steps.cc:249–261  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

247 explicit IterativeInStep(int64_t expr_id) : ExpressionStepBase(expr_id) {}
248
249 absl::Status Evaluate(ExecutionFrame* frame) const override {
250 if (!frame->value_stack().HasEnough(2)) {
251 return absl::Status(absl::StatusCode::kInternal, "Value stack underflow");
252 }
253
254 auto args = frame->value_stack().GetSpan(2);
255 auto attrs = frame->value_stack().GetAttributeSpan(2);
256
257 CEL_ASSIGN_OR_RETURN(
258 Value result, EvaluateIn(*frame, args[0], attrs[0], args[1], attrs[1]));
259 frame->value_stack().PopAndPush(2, std::move(result));
260 return absl::OkStatus();
261 }
262};
263
264} // namespace

Callers

nothing calls this directly

Calls 4

HasEnoughMethod · 0.80
GetSpanMethod · 0.80
GetAttributeSpanMethod · 0.80
PopAndPushMethod · 0.80

Tested by

no test coverage detected