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

Method transformSet

src/parser/transform/transform_updating_clause.cpp:45–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

43}
44
45std::unique_ptr<UpdatingClause> Transformer::transformSet(CypherParser::OC_SetContext& ctx) {
46 auto setClause = std::make_unique<SetClause>();
47 if (ctx.iC_Properties()) {
48 auto child = transformAtom(*ctx.oC_Atom());
49 for (auto i = 0u; i < ctx.iC_Properties()->oC_PropertyKeyName().size(); ++i) {
50 auto propertyKeyName = createPropertyExpression(
51 *ctx.iC_Properties()->oC_PropertyKeyName(i), child->copy());
52 auto expression = transformExpression(*ctx.iC_Properties()->oC_Expression(i));
53 setClause->addSetItem(make_pair(std::move(propertyKeyName), std::move(expression)));
54 }
55 } else {
56 for (auto& setItem : ctx.oC_SetItem()) {
57 setClause->addSetItem(transformSetItem(*setItem));
58 }
59 }
60 return setClause;
61}
62
63parsed_expr_pair Transformer::transformSetItem(CypherParser::OC_SetItemContext& ctx) {
64 return make_pair(transformProperty(*ctx.oC_PropertyExpression()),

Callers

nothing calls this directly

Calls 4

createPropertyExpressionFunction · 0.85
addSetItemMethod · 0.80
sizeMethod · 0.45
copyMethod · 0.45

Tested by

no test coverage detected