Я хочу сделать перевод с источника на источник.
Пользовательский тип класса CPMap / CPVector имеет оператор присваивания перегрузки.
перед:
mapAffectMonthDelay["0"] = 0;
auto pProductOrder = pPoInfo->productOrders[i];
переписать на:
mapAffectMonthDelay.insert("0", 0);
auto pProductOrder = pPoInfo->productOrders.getItem(i);
Вот совпадение для первого выражения:
matcher.addMatcher(binaryOperator(
hasOperatorName("="),
hasLHS(cxxOperatorCallExpr(
hasOverloadedOperatorName("[]"),
hasArgument(0, hasType(cxxRecordDecl(
anyOf(
hasName("CPMap"),
hasName("CPVector")
))))
))
).bind("operator"), &subscriptOperatorExprHandler);
Мой вопрос как сопоставить второе выражение или как различить guish первое и второе выражение?