115 IR::Node *preorder(IR::ParserState *state)
override {
116 for (
const auto *component : state->components) {
117 const auto *statement = component->to<IR::MethodCallStatement>();
118 if (!statement)
continue;
119 const IR::MethodCallExpression *call = statement->methodCall;
121 const auto *method = call->method->to<IR::Member>();
122 if (!method)
continue;
124 if (method->member ==
"extract" && call->arguments->size() == 2) {
125 IR::Annotations *annotations = state->annotations->clone();
126 annotations->add(
new IR::Annotation(
IR::ID(
"dontmerge"), {}));
127 state->annotations = annotations;