• Home
  • Raw
  • Download

Lines Matching refs:CXXRecordDecl

65 static CXXRecordDecl *FindDeclaringClass(NamedDecl *D) {  in FindDeclaringClass()
73 CXXRecordDecl *DeclaringClass = cast<CXXRecordDecl>(DC); in FindDeclaringClass()
75 DeclaringClass = cast<CXXRecordDecl>(DeclaringClass->getDeclContext()); in FindDeclaringClass()
106 if (isa<CXXRecordDecl>(DC)) { in EffectiveContext()
107 CXXRecordDecl *Record = cast<CXXRecordDecl>(DC); in EffectiveContext()
127 bool includesClass(const CXXRecordDecl *R) const { in includesClass()
138 typedef SmallVectorImpl<CXXRecordDecl*>::const_iterator record_iterator;
142 SmallVector<CXXRecordDecl*, 4> Records;
156 CXXRecordDecl *NamingClass, in AccessTarget()
166 CXXRecordDecl *BaseClass, in AccessTarget()
167 CXXRecordDecl *DerivedClass, in AccessTarget()
209 const CXXRecordDecl *resolveInstanceContext(Sema &S) const { in resolveInstanceContext()
216 InstanceContext = (IC ? cast<CXXRecordDecl>(IC)->getCanonicalDecl() in resolveInstanceContext()
221 const CXXRecordDecl *getDeclaringClass() const { in getDeclaringClass()
227 const CXXRecordDecl *getEffectiveNamingClass() const { in getEffectiveNamingClass()
228 const CXXRecordDecl *namingClass = getNamingClass(); in getEffectiveNamingClass()
230 namingClass = cast<CXXRecordDecl>(namingClass->getParent()); in getEffectiveNamingClass()
251 mutable const CXXRecordDecl *InstanceContext;
252 const CXXRecordDecl *DeclaringClass;
258 static bool MightInstantiateTo(const CXXRecordDecl *From, in MightInstantiateTo()
259 const CXXRecordDecl *To) { in MightInstantiateTo()
278 static AccessResult IsDerivedFromInclusive(const CXXRecordDecl *Derived, in IsDerivedFromInclusive()
279 const CXXRecordDecl *Target) { in IsDerivedFromInclusive()
290 SmallVector<const CXXRecordDecl*, 8> Queue; // actually a stack in IsDerivedFromInclusive()
298 const CXXRecordDecl *RD; in IsDerivedFromInclusive()
302 RD = cast<CXXRecordDecl>(RT->getDecl()); in IsDerivedFromInclusive()
408 const CXXRecordDecl *Friend) { in MatchesFriend()
413 for (const CXXRecordDecl *Context : EC.Records) { in MatchesFriend()
426 return MatchesFriend(S, EC, cast<CXXRecordDecl>(RT->getDecl())); in MatchesFriend()
444 for (SmallVectorImpl<CXXRecordDecl*>::const_iterator in MatchesFriend()
446 CXXRecordDecl *Record = *I; in MatchesFriend()
561 if (isa<CXXRecordDecl>(Friend)) in MatchesFriend()
562 return MatchesFriend(S, EC, cast<CXXRecordDecl>(Friend)); in MatchesFriend()
570 const CXXRecordDecl *Class) { in GetFriendKind()
599 const CXXRecordDecl *NamingClass;
604 SmallVector<const CXXRecordDecl*, 20> CurPath;
607 const CXXRecordDecl *InstanceContext, in ProtectedFriendContext()
608 const CXXRecordDecl *NamingClass) in ProtectedFriendContext()
633 bool findFriendship(const CXXRecordDecl *Cur, unsigned PrivateDepth) { in findFriendship()
651 const CXXRecordDecl *RD; in findFriendship()
655 RD = cast<CXXRecordDecl>(RT->getDecl()); in findFriendship()
675 bool findFriendship(const CXXRecordDecl *Cur) { in findFriendship()
710 const CXXRecordDecl *InstanceContext, in GetProtectedFriendKind()
711 const CXXRecordDecl *NamingClass) { in GetProtectedFriendKind()
729 const CXXRecordDecl *NamingClass, in HasAccess()
744 const CXXRecordDecl *ECRecord = *I; in HasAccess()
819 const CXXRecordDecl *InstanceContext = Target.resolveInstanceContext(S); in HasAccess()
845 const CXXRecordDecl *InstanceContext = nullptr; in HasAccess()
931 const CXXRecordDecl *Derived = Target.getNamingClass(); in FindBestPath()
932 const CXXRecordDecl *Base = Target.getDeclaringClass(); in FindBestPath()
935 bool isDerived = Derived->isDerivedFrom(const_cast<CXXRecordDecl*>(Base), in FindBestPath()
967 const CXXRecordDecl *NC = I->Class->getCanonicalDecl(); in FindBestPath()
1025 const CXXRecordDecl *NamingClass = Target.getEffectiveNamingClass(); in TryDiagnoseProtectedAccess()
1029 const CXXRecordDecl *ECRecord = *I; in TryDiagnoseProtectedAccess()
1059 const CXXRecordDecl *InstanceContext = Target.resolveInstanceContext(S); in TryDiagnoseProtectedAccess()
1120 CXXRecordDecl *DeclaringClass = FindDeclaringClass(D); in diagnoseBadDirectAccess()
1165 const CXXRecordDecl *declaringClass = entity.getDeclaringClass(); in DiagnoseAccessPath()
1199 const CXXRecordDecl *derivingClass = i->Class->getCanonicalDecl(); in DiagnoseAccessPath()
1261 const CXXRecordDecl *NamingClass = Entity.getNamingClass(); in DiagnoseBadAccess()
1262 const CXXRecordDecl *DeclaringClass = Entity.getDeclaringClass(); in DiagnoseBadAccess()
1317 const CXXRecordDecl *NamingClass = Entity.getEffectiveNamingClass(); in IsAccessible()
1353 const CXXRecordDecl *DeclaringClass = Entity.getDeclaringClass(); in IsAccessible()
1504 CXXRecordDecl *NamingClass = cast<CXXRecordDecl>(NamingD); in HandleDependentAccessCheck()
1523 cast<CXXRecordDecl>(TargetD), in HandleDependentAccessCheck()
1524 cast<CXXRecordDecl>(NamingD), in HandleDependentAccessCheck()
1566 bool Sema::isMemberAccessibleForDeletion(CXXRecordDecl *NamingClass, in isMemberAccessibleForDeletion()
1602 CXXRecordDecl *NamingClass = Dtor->getParent(); in CheckDestructorAccess()
1666 CXXRecordDecl *NamingClass = Constructor->getParent(); in CheckConstructorAccess()
1675 CXXRecordDecl *ObjectClass; in CheckConstructorAccess()
1701 CXXRecordDecl *NamingClass, in CheckAllocationAccess()
1720 CXXRecordDecl *NamingClass, in CheckMemberAccess()
1736 CXXRecordDecl *DecomposedClass, in CheckStructuredBindingMemberAccess()
1760 CXXRecordDecl *NamingClass = cast<CXXRecordDecl>(RT->getDecl()); in CheckMemberOperatorAccess()
1785 cast<CXXRecordDecl>(target->getDeclContext()), in CheckFriendAccess()
1811 CXXRecordDecl *NamingClass = Ovl->getNamingClass(); in CheckAddressOfMemberAccess()
1840 CXXRecordDecl *BaseD, *DerivedD; in CheckBaseClassAccess()
1841 BaseD = cast<CXXRecordDecl>(Base->castAs<RecordType>()->getDecl()); in CheckBaseClassAccess()
1842 DerivedD = cast<CXXRecordDecl>(Derived->castAs<RecordType>()->getDecl()); in CheckBaseClassAccess()
1895 bool Sema::IsSimplyAccessible(NamedDecl *Target, CXXRecordDecl *NamingClass, in IsSimplyAccessible()