MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / visit

Method visit

src/expression_evaluator/expression_evaluator_visitor.cpp:39–64  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

37}
38
39void LambdaParamEvaluatorCollector::visit(ExpressionEvaluator* evaluator) {
40 std::vector<ExpressionEvaluator*> children;
41 switch (evaluator->getEvaluatorType()) {
42 case EvaluatorType::CASE_ELSE: {
43 auto& caseEvaluator = evaluator->constCast<CaseExpressionEvaluator>();
44 children.push_back(caseEvaluator.getElseEvaluator());
45 for (auto& alternativeEvaluator : caseEvaluator.getAlternativeEvaluators()) {
46 children.push_back(alternativeEvaluator.whenEvaluator.get());
47 children.push_back(alternativeEvaluator.thenEvaluator.get());
48 }
49 } break;
50 case EvaluatorType::LAMBDA_PARAM: {
51 evaluators.push_back(evaluator);
52 return;
53 }
54 default: {
55 for (auto& child : evaluator->getChildren()) {
56 children.push_back(child.get());
57 }
58 }
59 }
60 for (auto& child : children) {
61 visit(child);
62 visitSwitch(child);
63 }
64}
65
66} // namespace evaluator
67} // namespace lbug

Callers 1

initMethod · 0.45

Calls 5

getEvaluatorTypeMethod · 0.80
getElseEvaluatorMethod · 0.80
visitFunction · 0.50
push_backMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected