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(),
653 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
658 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
669 return IsStructurallyEquivalent(Context, Arg1.getAsType(), Arg2.getAsType());
672 if (!IsStructurallyEquivalent(Context, Arg1.getIntegralType(),
680 return IsStructurallyEquivalent(Context, Arg1.getAsDecl(), Arg2.getAsDecl());
686 return IsStructurallyEquivalent(Context, Arg1.getAsTemplate(),
690 return IsStructurallyEquivalent(Context,
695 return IsStructurallyEquivalent(Context, Arg1.getAsExpr(),
702 return IsStructurallyEquivalent(Context, Arg1.pack_elements(),
710 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
716 if (!IsStructurallyEquivalent(Context, Args1[I], Args2[I]))
723 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
726 return IsStructurallyEquivalent(Context, Arg1.getArgument(),
735 if (!IsStructurallyEquivalent(Context, Array1->getElementType(),
749 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
789 if (!IsStructurallyEquivalent(Context, Proto1->getExceptionType(I),
794 if (!IsStructurallyEquivalent(Context, Proto1->getNoexceptExpr(),
803 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
844 if (!IsStructurallyEquivalent(Context,
853 if (!IsStructurallyEquivalent(Context,
860 if (!IsStructurallyEquivalent(Context,
867 if (!IsStructurallyEquivalent(Context,
881 if (!IsStructurallyEquivalent(Context, Ref1->getPointeeTypeAsWritten(),
890 if (!IsStructurallyEquivalent(Context, MemPtr1->getPointeeType(),
893 if (!IsStructurallyEquivalent(Context, QualType(MemPtr1->getClass(), 0),
919 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(),
932 if (!IsStructurallyEquivalent(Context, Array1->getSizeExpr(),
945 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getAddrSpaceExpr(),
948 if (!IsStructurallyEquivalent(Context, DepAddressSpace1->getPointeeType(),
958 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(),
961 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(),
972 if (!IsStructurallyEquivalent(Context, Vec1->getSizeExpr(),
975 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(),
985 if (!IsStructurallyEquivalent(Context, Vec1->getElementType(),
1000 if (!IsStructurallyEquivalent(Context, Mat1->getRowExpr(),
1002 !IsStructurallyEquivalent(Context, Mat1->getColumnExpr(),
1004 !IsStructurallyEquivalent(Context, Mat1->getElementType(),
1015 if (!IsStructurallyEquivalent(Context, Mat1->getElementType(),
1030 if (!IsStructurallyEquivalent(Context, Proto1->getParamType(I),
1055 if (!IsStructurallyEquivalent(Context, Function1->getReturnType(),
1058 if (!IsStructurallyEquivalent(Context, Function1->getExtInfo(),
1065 if (!IsStructurallyEquivalent(Context,
1072 if (!IsStructurallyEquivalent(Context,
1076 if (!IsStructurallyEquivalent(
1083 if (!IsStructurallyEquivalent(Context,
1090 if (!IsStructurallyEquivalent(
1097 if (!IsStructurallyEquivalent(Context, cast<ParenType>(T1)->getInnerType(),
1103 if (!IsStructurallyEquivalent(
1110 if (!IsStructurallyEquivalent(Context, cast<UsingType>(T1)->getFoundDecl(),
1113 if (!IsStructurallyEquivalent(Context,
1120 if (!IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->getDecl(),
1122 !IsStructurallyEquivalent(Context, cast<TypedefType>(T1)->desugar(),
1128 if (!IsStructurallyEquivalent(
1135 if (!IsStructurallyEquivalent(Context,
1142 if (!IsStructurallyEquivalent(
1149 if (!IsStructurallyEquivalent(Context,
1158 if (!IsStructurallyEquivalent(Context, Auto1->getDeducedType(),
1167 if (!IsStructurallyEquivalent(Context,
1178 if (!IsStructurallyEquivalent(Context, DT1->getTemplateName(),
1181 if (!IsStructurallyEquivalent(Context, DT1->getDeducedType(),
1189 if (!IsStructurallyEquivalent(Context, cast<TagType>(T1)->getDecl(),
1212 if (!IsStructurallyEquivalent(Context, Subst1->getReplacementType(),
1215 if (!IsStructurallyEquivalent(Context, Subst1->getAssociatedDecl(),
1228 if (!IsStructurallyEquivalent(Context, Subst1->getAssociatedDecl(),
1233 if (!IsStructurallyEquivalent(Context, Subst1->getArgumentPack(),
1242 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateName(),
1245 if (!IsStructurallyEquivalent(Context, Spec1->template_arguments(),
1259 if (!IsStructurallyEquivalent(Context, Elab1->getQualifier(),
1262 if (!IsStructurallyEquivalent(Context, Elab1->getNamedType(),
1271 if (!IsStructurallyEquivalent(Context,
1281 if (!IsStructurallyEquivalent(Context, Typename1->getQualifier(),
1284 if (!IsStructurallyEquivalent(Typename1->getIdentifier(),
1294 if (!IsStructurallyEquivalent(Context, Spec1->getQualifier(),
1297 if (!IsStructurallyEquivalent(Spec1->getIdentifier(),
1300 if (!IsStructurallyEquivalent(Context, Spec1->template_arguments(),
1307 if (!IsStructurallyEquivalent(Context,
1314 if (!IsStructurallyEquivalent(Context,
1317 if (!IsStructurallyEquivalent(Context,
1326 if (!IsStructurallyEquivalent(Context, Iface1->getDecl(),
1335 if (!IsStructurallyEquivalent(Context, Obj1->getDecl(), Obj2->getDecl()))
1341 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I),
1351 if (!IsStructurallyEquivalent(Context, Obj1->getBaseType(),
1357 if (!IsStructurallyEquivalent(Context, Obj1->getProtocol(I),
1367 if (!IsStructurallyEquivalent(Context, Ptr1->getPointeeType(),
1374 if (!IsStructurallyEquivalent(Context, cast<AtomicType>(T1)->getValueType(),
1380 if (!IsStructurallyEquivalent(Context, cast<PipeType>(T1)->getElementType(),
1398 !IsStructurallyEquivalent(Context, Int1->getNumBitsExpr(),
1408 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1412 if (!::IsStructurallyEquivalent(Name1, Name2))
1415 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType()))
1427 return IsStructurallyEquivalent(Context, D1->getInit(), D2->getInit());
1430 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1442 return IsStructurallyEquivalent(Context, D1, D2);
1448 if (!::IsStructurallyEquivalent(Name1, Name2)) {
1462 if (!IsStructurallyEquivalent(Context, Field1->getType(),
1478 return IsStructurallyEquivalent(Context, Field1->getBitWidth(),
1485 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1488 return IsStructurallyEquivalent(Context, Field1, Field2,
1493 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1526 if (!IsStructurallyEquivalent(Context, Conversion1->getConversionType(),
1533 if (!::IsStructurallyEquivalent(Name1, Name2)) {
1539 if (!::IsStructurallyEquivalent(Context,
1552 if (!IsStructurallyEquivalent(Context, D1->getLambdaCallOperator(),
1585 !IsStructurallyEquivalent(ND1->getIdentifier(), ND2->getIdentifier()))
1591 if (!IsStructurallyEquivalent(Context, D1Spec, D2Spec))
1610 return IsStructurallyEquivalent(GetName(D1), GetName(D2));
1614 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1657 if (!IsStructurallyEquivalent(Context, Spec1->getSpecializedTemplate(),
1666 if (!IsStructurallyEquivalent(Context, Spec1->getTemplateArgs().get(I),
1730 if (!IsStructurallyEquivalent(Context, Base1->getType(),
1779 if (!IsStructurallyEquivalent(Context, *Friend1, *Friend2)) {
1838 if (!IsStructurallyEquivalent(Context, *Field1, *Field2, D2Type))
1857 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1869 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
1873 return IsStructurallyEquivalent(Context, D1->getInitExpr(),
1878 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1912 !IsStructurallyEquivalent(EC1->getIdentifier(), EC2->getIdentifier())) {
1942 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1969 if (!IsStructurallyEquivalent(Context, Params1->getParam(I),
1977 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
1995 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2014 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType())) {
2029 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2045 return IsStructurallyEquivalent(Context, D1->getTemplateParameters(),
2051 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2056 return IsStructurallyEquivalent(Ctx, D1->getTemplateParameters(),
2060 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2068 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl(),
2072 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2080 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl()->getType(),
2084 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2092 return IsStructurallyEquivalent(Context, D1->getTemplatedDecl(),
2096 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2104 return IsStructurallyEquivalent(Context, D1->getConstraintExpr(),
2108 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2115 return IsStructurallyEquivalent(Context,
2119 return IsStructurallyEquivalent(Context, D1->getFriendDecl(),
2124 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2126 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2129 return IsStructurallyEquivalent(Context, D1->getUnderlyingType(),
2133 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2135 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2146 if (!IsStructurallyEquivalent(Context, D1->getType(), D2->getType()))
2152 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2158 return IsStructurallyEquivalent(Context, cast<FieldDecl>(D1),
2162 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2166 return IsStructurallyEquivalent(Context, D1, D2, Owner2Type);
2169 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2189 if (!IsStructurallyEquivalent(Selector1.getIdentifierInfoForSlot(I),
2195 if (!IsStructurallyEquivalent(Context, Method1->getReturnType(),
2208 if (!IsStructurallyEquivalent(Context, *ParamT1, *ParamT2))
2215 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2218 if (!IsStructurallyEquivalent(D1->getIdentifier(), D2->getIdentifier()))
2227 !IsStructurallyEquivalent(Intf1->getIdentifier(), Intf2->getIdentifier()))
2238 if (!IsStructurallyEquivalent((*Protocol1)->getIdentifier(),
2255 if (!IsStructurallyEquivalent(Context, *Ivar1, *Ivar2, D2Type))
2269 if (!IsStructurallyEquivalent(Context, *Method1, *Method2))
2279 static bool IsStructurallyEquivalent(StructuralEquivalenceContext &Context,
2424 if (!::IsStructurallyEquivalent(*this, D1, D2))
2433 if (!::IsStructurallyEquivalent(*this, T1, T2))
2442 if (!::IsStructurallyEquivalent(*this, S1, S2))
2454 if (Template1 && !IsStructurallyEquivalent(*this, Template1, Template2))
2470 // IsStructurallyEquivalent is called.
2475 return ::IsStructurallyEquivalent(*this, static_cast<DERIVED##Decl *>(D1), \