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

Method PostVisitCall

eval/compiler/flat_expr_builder.cc:1265–1288  ·  view source on GitHub ↗

Invoked after all child nodes are processed.

Source from the content-addressed store, hash-verified

1263
1264 // Invoked after all child nodes are processed.
1265 void PostVisitCall(const cel::Expr& expr,
1266 const cel::CallExpr& call_expr) override {
1267 if (!progress_status_.ok()) {
1268 return;
1269 }
1270
1271 auto cond_visitor = FindCondVisitor(&expr);
1272 if (cond_visitor) {
1273 cond_visitor->PostVisit(&expr);
1274 cond_visitor_stack_.pop();
1275 return;
1276 }
1277
1278 // Check if the call is intercepted by a custom handler.
1279 if (auto handler = call_handlers_.find(call_expr.function());
1280 handler != call_handlers_.end()) {
1281 CallHandlerResult result = handler->second(expr, call_expr);
1282 if (result == CallHandlerResult::kIntercepted) {
1283 return;
1284 } // otherwise, apply default function handling.
1285 }
1286
1287 AddResolvedFunctionStep(&call_expr, &expr, call_expr.function());
1288 }
1289
1290 void PreVisitComprehension(
1291 const cel::Expr& expr,

Callers

nothing calls this directly

Calls 3

PostVisitMethod · 0.80
okMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected