Lines Matching defs:E2
173 bool IsStmtEquivalent(const AddrLabelExpr *E1, const AddrLabelExpr *E2) {
174 return IsStructurallyEquivalent(Context, E1->getLabel(), E2->getLabel());
177 bool IsStmtEquivalent(const AtomicExpr *E1, const AtomicExpr *E2) {
178 return E1->getOp() == E2->getOp();
181 bool IsStmtEquivalent(const BinaryOperator *E1, const BinaryOperator *E2) {
182 return E1->getOpcode() == E2->getOpcode();
185 bool IsStmtEquivalent(const CallExpr *E1, const CallExpr *E2) {
188 Decl *Callee2 = const_cast<Decl *>(E2->getCalleeDecl());
203 const CharacterLiteral *E2) {
204 return E1->getValue() == E2->getValue() && E1->getKind() == E2->getKind();
207 bool IsStmtEquivalent(const ChooseExpr *E1, const ChooseExpr *E2) {
211 bool IsStmtEquivalent(const CompoundStmt *E1, const CompoundStmt *E2) {
217 return E1->size() == E2->size();
238 bool IsStmtEquivalent(const Expr *E1, const Expr *E2) {
239 return IsStructurallyEquivalent(Context, E1->getType(), E2->getType());
243 const ExpressionTraitExpr *E2) {
244 return E1->getTrait() == E2->getTrait() && E1->getValue() == E2->getValue();
247 bool IsStmtEquivalent(const FloatingLiteral *E1, const FloatingLiteral *E2) {
248 return E1->isExact() == E2->isExact() && E1->getValue() == E2->getValue();
252 const GenericSelectionExpr *E2) {
254 E2->getAssocTypeSourceInfos())) {
275 bool IsStmtEquivalent(const IntegerLiteral *E1, const IntegerLiteral *E2) {
276 return E1->getValue() == E2->getValue();
279 bool IsStmtEquivalent(const MemberExpr *E1, const MemberExpr *E2) {
281 E2->getFoundDecl());
285 const ObjCStringLiteral *E2) {
303 bool IsStmtEquivalent(const SourceLocExpr *E1, const SourceLocExpr *E2) {
304 return E1->getIdentKind() == E2->getIdentKind();
307 bool IsStmtEquivalent(const StmtExpr *E1, const StmtExpr *E2) {
308 return E1->getTemplateDepth() == E2->getTemplateDepth();
311 bool IsStmtEquivalent(const StringLiteral *E1, const StringLiteral *E2) {
312 return E1->getBytes() == E2->getBytes();
316 const SubstNonTypeTemplateParmExpr *E2) {
318 E2->getAssociatedDecl()))
320 if (E1->getIndex() != E2->getIndex())
322 if (E1->getPackIndex() != E2->getPackIndex())
328 const SubstNonTypeTemplateParmPackExpr *E2) {
330 E2->getArgumentPack());
333 bool IsStmtEquivalent(const TypeTraitExpr *E1, const TypeTraitExpr *E2) {
334 if (E1->getTrait() != E2->getTrait())
337 for (auto Pair : zip_longest(E1->getArgs(), E2->getArgs())) {
352 const CXXDependentScopeMemberExpr *E2) {
353 if (!IsStructurallyEquivalent(Context, E1->getMember(), E2->getMember())) {
357 E2->getBaseType());
361 const UnaryExprOrTypeTraitExpr *E2) {
362 if (E1->getKind() != E2->getKind())
365 E2->getTypeOfArgument());
368 bool IsStmtEquivalent(const UnaryOperator *E1, const UnaryOperator *E2) {
369 return E1->getOpcode() == E2->getOpcode();
372 bool IsStmtEquivalent(const VAArgExpr *E1, const VAArgExpr *E2) {
377 bool IsStmtEquivalent(const OverloadExpr *E1, const OverloadExpr *E2) {
378 if (!IsStructurallyEquivalent(Context, E1->getName(), E2->getName()))
382 static_cast<bool>(E2->getQualifier()))
386 E2->getQualifier()))
389 if (E1->getNumTemplateArgs() != E2->getNumTemplateArgs())
392 const TemplateArgumentLoc *Args2 = E2->getTemplateArgs();
401 bool IsStmtEquivalent(const CXXBoolLiteralExpr *E1, const CXXBoolLiteralExpr *E2) {
402 return E1->getValue() == E2->getValue();
454 const CXXOperatorCallExpr *E2) {
456 E2->getOperator() &&
457 IsStructurallyEquivalent(Context, E1->getSubExpr(), E2->getArg(0));
462 const UnaryOperator *E2) {
464 UnaryOperator::getOverloadedOperator(E2->getOpcode()) &&
465 IsStructurallyEquivalent(Context, E1->getArg(0), E2->getSubExpr());
470 const CXXOperatorCallExpr *E2) {
472 E2->getOperator() &&
473 IsStructurallyEquivalent(Context, E1->getLHS(), E2->getArg(0)) &&
474 IsStructurallyEquivalent(Context, E1->getRHS(), E2->getArg(1));
479 const BinaryOperator *E2) {
481 BinaryOperator::getOverloadedOperator(E2->getOpcode()) &&
482 IsStructurallyEquivalent(Context, E1->getArg(0), E2->getLHS()) &&
483 IsStructurallyEquivalent(Context, E1->getArg(1), E2->getRHS());
603 E1 = OS1->end(), E2 = OS2->end();
604 for (; I1 != E1 && I2 != E2; ++I1, ++I2)
607 return I1 == E1 && I2 == E2;