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

Class StackRecord

common/ast_traverse.cc:58–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

56 absl::variant<ExprRecord, ArgRecord, ComprehensionRecord>;
57
58struct StackRecord {
59 public:
60 static constexpr int kTarget = -2;
61
62 explicit StackRecord(const Expr* e) {
63 ExprRecord record;
64 record.expr = e;
65 record_variant = record;
66 }
67
68 StackRecord(const Expr* e, const ComprehensionExpr* comprehension,
69 const Expr* comprehension_expr,
70 ComprehensionArg comprehension_arg,
71 bool use_comprehension_callbacks) {
72 if (use_comprehension_callbacks) {
73 ComprehensionRecord record;
74 record.expr = e;
75 record.comprehension = comprehension;
76 record.comprehension_expr = comprehension_expr;
77 record.comprehension_arg = comprehension_arg;
78 record.use_comprehension_callbacks = use_comprehension_callbacks;
79 record_variant = record;
80 return;
81 }
82 ArgRecord record;
83 record.expr = e;
84 record.calling_expr = comprehension_expr;
85 record.call_arg = comprehension_arg;
86 record_variant = record;
87 }
88
89 StackRecord(const Expr* e, const Expr* call, int argnum) {
90 ArgRecord record;
91 record.expr = e;
92 record.calling_expr = call;
93 record.call_arg = argnum;
94 record_variant = record;
95 }
96 StackRecordKind record_variant;
97 bool visited = false;
98};
99
100struct PreVisitor {
101 void operator()(const ExprRecord& record) {

Callers 8

PushSelectDepsFunction · 0.70
PushCallDepsFunction · 0.70
PushListDepsFunction · 0.70
PushStructDepsFunction · 0.70
PushMapDepsFunction · 0.70
operator()Method · 0.70
CreateMethod · 0.70
AstTraverseFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected