Lines Matching defs:IsStructurallyEquivalent
41 // static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
51 // IsStructurallyEquivalent(StructuralEquivalenceContext &Context, Decl *D1,
98 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
100 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
102 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
104 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
107 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
110 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
113 static bool IsStructurallyEquivalent(const IdentifierInfo *Name1,
116 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
125 return IsStructurallyEquivalent(Name1.getAsIdentifierInfo(),
131 return IsStructurallyEquivalent(Context, Name1.getCXXNameType(),
135 if (!IsStructurallyEquivalent(
139 return IsStructurallyEquivalent(Context,
148 return IsStructurallyEquivalent(Name1.getCXXLiteralIdentifier(),
174 return IsStructurallyEquivalent(Context, E1->getLabel(), E2->getLabel());
186 // FIXME: IsStructurallyEquivalent requires non-const Decls.
199 return IsStructurallyEquivalent(Context, Callee1, Callee2);
225 return IsStructurallyEquivalent(Context, const_cast<ValueDecl *>(Decl1),
231 if (!IsStructurallyEquivalent(Context, DE1->getDeclName(),
234 return IsStructurallyEquivalent(Context, DE1->getQualifier(),
239 return IsStructurallyEquivalent(Context, E1->getType(), E2->getType());
261 if (!IsStructurallyEquivalent(Context, (*Child1)->getType(),
271 return IsStructurallyEquivalent(Context, CastE1->getType(),
280 return IsStructurallyEquivalent(Context, E1->getFoundDecl(),
300 return ::IsStructurallyEquivalent(Name1, Name2);
317 if (!IsStructurallyEquivalent(Context, E1->getAssociatedDecl(),
329 return IsStructurallyEquivalent(Context, E1->getArgumentPack(),
344 if (!IsStructurallyEquivalent(Context, (*Child1)->getType(),
353 if (!IsStructurallyEquivalent(Context, E1->getMember(), E2->getMember())) {
356 return IsStructurallyEquivalent(Context, E1->getBaseType(),
364 return IsStructurallyEquivalent(Context, E1->getTypeOfArgument(),
378 if (!IsStructurallyEquivalent(Context, E1->getName(), E2->getName()))
385 !IsStructurallyEquivalent(Context, E1->getQualifier(),
395 if (!IsStructurallyEquivalent(Context, Args1[ArgI], Args2[ArgI]))
452 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
457 IsStructurallyEquivalent(Context, E1->getSubExpr(), E2->getArg(0));
460 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
465 IsStructurallyEquivalent(Context, E1->getArg(0), E2->getSubExpr());
468 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
473 IsStructurallyEquivalent(Context, E1->getLHS(), E2->getArg(0)) &&
474 IsStructurallyEquivalent(Context, E1->getRHS(), E2->getArg(1));
477 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
482 IsStructurallyEquivalent(Context, E1->getArg(0), E2->getLHS()) &&
483 IsStructurallyEquivalent(Context, E1->getArg(1), E2->getRHS());
487 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
502 return IsStructurallyEquivalent(Context, E1Unary, E2CXXOperatorCall);
504 return IsStructurallyEquivalent(Context, E1Binary, E2CXXOperatorCall);
508 return IsStructurallyEquivalent(Context, E1CXXOperatorCall, E2Unary);
510 return IsStructurallyEquivalent(Context, E1CXXOperatorCall, E2Binary);
526 if (!IsStructurallyEquivalent(Context, *Child1, *Child2))
533 static bool IsStructurallyEquivalent(const IdentifierInfo *Name1,
542 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
554 if (!IsStructurallyEquivalent(Context, Prefix1, Prefix2))
559 return IsStructurallyEquivalent(NNS1->getAsIdentifier(),
562 return IsStructurallyEquivalent(Context, NNS1->getAsNamespace(),
565 return IsStructurallyEquivalent(Context, NNS1->getAsNamespaceAlias(),
569 return IsStructurallyEquivalent(Context, QualType(NNS1->getAsType(), 0),
574 return IsStructurallyEquivalent(Context, NNS1->getAsRecordDecl(),
580 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
586 if (!IsStructurallyEquivalent(Context, TemplateDeclN1, TemplateDeclN2))
605 if (!IsStructurallyEquivalent(Context, *I1, *I2))
619 if (!IsStructurallyEquivalent(Context, DN1->getQualifier(),
623 return IsStructurallyEquivalent(DN1->getIdentifier(),
634 return IsStructurallyEquivalent(Context, P1->getArgumentPack(),
636 IsStructurallyEquivalent(Context, P1->getAssociatedDecl(),
656 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
661 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
672 return IsStructurallyEquivalent(Context, Arg1.getAsType(), Arg2.getAsType());
675 if (!IsStructurallyEquivalent(Context, Arg1.getIntegralType(),
683 return IsStructurallyEquivalent(Context, Arg1.getAsDecl(), Arg2.getAsDecl());
689 return IsStructurallyEquivalent(Context, Arg1.getAsTemplate(),
693 return IsStructurallyEquivalent(Context,
698 return IsStructurallyEquivalent(Context, Arg1.getAsExpr(),
705 return IsStructurallyEquivalent(Context, Arg1.pack_elements(),
713 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
719 if (!IsStructurallyEquivalent(Context, Args1[I], Args2[I]))
726 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
729 return IsStructurallyEquivalent(Context, Arg1.getArgument(),
738 if (!IsStructurallyEquivalent(Context, Array1->getElementType(),
752 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
792 if (!IsStructurallyEquivalent(Context, Proto1->getExceptionType(I),
797 if (!IsStructurallyEquivalent(Context, Proto1->getNoexceptExpr(),
806 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
847 if (!IsStructurallyEquivalent(Context,
856 if (!IsStructurallyEquivalent(Context,
863 if (!IsStructurallyEquivalent(Context,
870 if (!IsStructurallyEquivalent(Context,
884 if (!IsStructurallyEquivalent(Context, Ref1->getPointeeTypeAsWritten(),
893 if (!IsStructurallyEquivalent(Context, MemPtr1->getPointeeType(),
896 if (!IsStructurallyEquivalent(Context, QualType(MemPtr1->getClass(), 0),
922 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(),
935 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(),
948 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getAddrSpaceExpr(),
951 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getPointeeType(),
961 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(),
964 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(),
975 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(),
978 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(),
988 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(),
1003 if (!IsStructurallyEquivalent(Context, Mat1->getRowExpr(),
1005 !IsStructurallyEquivalent(Context, Mat1->getColumnExpr(),
1007 !IsStructurallyEquivalent(Context, Mat1->getElementType(),
1018 if (!IsStructurallyEquivalent(Context, Mat1->getElementType(),
1033 if (!IsStructurallyEquivalent(Context, Proto1->getParamType(I),
1058 if (!IsStructurallyEquivalent(Context, Function1->getReturnType(),
1061 if (!IsStructurallyEquivalent(Context, Function1->getExtInfo(),
1068 if (!IsStructurallyEquivalent(Context,
1075 if (!IsStructurallyEquivalent(Context,
1079 if (!IsStructurallyEquivalent(
1086 if (!IsStructurallyEquivalent(Context,
1093 if (!IsStructurallyEquivalent(
1100 if (!IsStructurallyEquivalent(
1104 if (!IsStructurallyEquivalent(
1114 if (!IsStructurallyEquivalent(Context, cast<ParenType>(T1)->getInnerType(),
1120 if (!IsStructurallyEquivalent(
1127 if (!IsStructurallyEquivalent(Context, cast<UsingType>(T1)->getFoundDecl(),
1130 if (!IsStructurallyEquivalent(Context,
1137 if (!IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->getDecl(),
1139 !IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->desugar(),
1145 if (!IsStructurallyEquivalent(
1152 if (!IsStructurallyEquivalent(Context,
1159 if (!IsStructurallyEquivalent(
1166 if (!IsStructurallyEquivalent(Context,
1175 if (!IsStructurallyEquivalent(Context, Auto1->getDeducedType(),
1184 if (!IsStructurallyEquivalent(Context,
1195 if (!IsStructurallyEquivalent(Context, DT1->getTemplateName(),
1198 if (!IsStructurallyEquivalent(Context, DT1->getDeducedType(),
1206 if (!IsStructurallyEquivalent(Context, cast<TagType>(T1)->getDecl(),
1229 if (!IsStructurallyEquivalent(Context, Subst1->getReplacementType(),
1232 if (!IsStructurallyEquivalent(Context, Subst1->getAssociatedDecl(),
1245 if (!IsStructurallyEquivalent(Context, Subst1->getAssociatedDecl(),
1250 if (!IsStructurallyEquivalent(Context, Subst1->getArgumentPack(),
1259 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateName(),
1262 if (!IsStructurallyEquivalent(Context, Spec1->template_arguments(),
1276 if (!IsStructurallyEquivalent(Context, Elab1->getQualifier(),
1279 if (!IsStructurallyEquivalent(Context, Elab1->getNamedType(),
1288 if (!IsStructurallyEquivalent(Context,
1298 if (!IsStructurallyEquivalent(Context, Typename1->getQualifier(),
1301 if (!IsStructurallyEquivalent(Typename1->getIdentifier(),
1311 if (!IsStructurallyEquivalent(Context, Spec1->getQualifier(),
1314 if (!IsStructurallyEquivalent(Spec1->getIdentifier(),
1317 if (!IsStructurallyEquivalent(Context, Spec1->template_arguments(),
1324 if (!IsStructurallyEquivalent(Context,
1331 if (!IsStructurallyEquivalent(Context,
1334 if (!IsStructurallyEquivalent(Context,
1343 if (!IsStructurallyEquivalent(Context, Iface1->getDecl(),
1352 if (!IsStructurallyEquivalent(Context, Obj1->getDecl(), Obj2->getDecl()))
1358 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I),
1368 if (!IsStructurallyEquivalent(Context, Obj1->getBaseType(),
1374 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I),
1384 if (!IsStructurallyEquivalent(Context, Ptr1->getPointeeType(),
1391 if (!IsStructurallyEquivalent(Context, cast<AtomicType>(T1)->getValueType(),
1397 if (!IsStructurallyEquivalent(Context, cast<PipeType>(T1)->getElementType(),
1415 !IsStructurallyEquivalent(Context, Int1->getNumBitsExpr(),
1425 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1429 if (!::IsStructurallyEquivalent(Name1, Name2))
1432 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType()))
1444 return IsStructurallyEquivalent(Context, D1->getInit(), D2->getInit());
1447 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1459 return IsStructurallyEquivalent(Context, D1, D2);
1465 if (!::IsStructurallyEquivalent(Name1, Name2)) {
1479 if (!IsStructurallyEquivalent(Context, Field1->getType(),
1495 return IsStructurallyEquivalent(Context, Field1->getBitWidth(),
1502 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1505 return IsStructurallyEquivalent(Context, Field1, Field2,
1510 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1543 if (!IsStructurallyEquivalent(Context, Conversion1->getConversionType(),
1550 if (!::IsStructurallyEquivalent(Name1, Name2)) {
1556 if (!::IsStructurallyEquivalent(Context,
1569 if (!IsStructurallyEquivalent(Context, D1->getLambdaCallOperator(),
1602 !IsStructurallyEquivalent(ND1->getIdentifier(), ND2->getIdentifier()))
1608 if (!IsStructurallyEquivalent(Context, D1Spec, D2Spec))
1627 return IsStructurallyEquivalent(GetName(D1), GetName(D2));
1631 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1674 if (!IsStructurallyEquivalent(Context, Spec1->getSpecializedTemplate(),
1683 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateArgs().get(I),
1747 if (!IsStructurallyEquivalent(Context, Base1->getType(),
1796 if (!IsStructurallyEquivalent(Context, *Friend1, *Friend2)) {
1855 if (!IsStructurallyEquivalent(Context, *Field1, *Field2, D2Type))
1874 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1886 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
1890 return IsStructurallyEquivalent(Context, D1->getInitExpr(),
1895 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1929 !IsStructurallyEquivalent(EC1->getIdentifier(), EC2->getIdentifier())) {
1959 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1986 if (!IsStructurallyEquivalent(Context, Params1->getParam(I),
1994 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2012 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2031 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType())) {
2046 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2062 return IsStructurallyEquivalent(Context, D1->getTemplateParameters(),
2068 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2073 return IsStructurallyEquivalent(Ctx, D1->getTemplateParameters(),
2077 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2085 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl(),
2089 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2097 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl()->getType(),
2101 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2109 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl(),
2113 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2121 return IsStructurallyEquivalent(Context, D1->getConstraintExpr(),
2125 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2132 return IsStructurallyEquivalent(Context,
2136 return IsStructurallyEquivalent(Context, D1->getFriendDecl(),
2141 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2143 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2146 return IsStructurallyEquivalent(Context, D1->getUnderlyingType(),
2150 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2152 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2163 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType()))
2169 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2175 return IsStructurallyEquivalent(Context, cast<FieldDecl>(D1),
2179 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2183 return IsStructurallyEquivalent(Context, D1, D2, Owner2Type);
2186 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2206 if (!IsStructurallyEquivalent(Selector1.getIdentifierInfoForSlot(I),
2212 if (!IsStructurallyEquivalent(Context, Method1->getReturnType(),
2225 if (!IsStructurallyEquivalent(Context, *ParamT1, *ParamT2))
2232 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2235 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2244 !IsStructurallyEquivalent(Intf1->getIdentifier(), Intf2->getIdentifier()))
2255 if (!IsStructurallyEquivalent((*Protocol1)->getIdentifier(),
2272 if (!IsStructurallyEquivalent(Context, *Ivar1, *Ivar2, D2Type))
2286 if (!IsStructurallyEquivalent(Context, *Method1, *Method2))
2296 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2442 if (!::IsStructurallyEquivalent(*this, D1, D2))
2451 if (!::IsStructurallyEquivalent(*this, T1, T2))
2460 if (!::IsStructurallyEquivalent(*this, S1, S2))
2472 if (Template1 && !IsStructurallyEquivalent(*this, Template1, Template2))
2488 // IsStructurallyEquivalent is called.
2493 return ::IsStructurallyEquivalent(*this, static_cast<DERIVED##Decl *>(D1), \