Home | History | Annotate | Download | only in Sema

Lines Matching defs:Path

611   /// The path down to the current base class.
622 /// Check classes in the current path for friendship, starting at
639 /// along the current path such that a notional public member of
640 /// the final class in the path would have access in that class.
642 // If we ever reach the naming class, check the current path for
706 /// of NamingClass) might be more accessible along some path not
819 // along this path, we just need to check whether the classes
879 /// Finds the best path from the naming class to the declaring class,
905 /// Along a single inheritance path we can restate both of these
913 /// Let B_1 .. B_n be the inheritance path in question (i.e. where
916 /// closest accessible base in the path:
956 // Derive the friend-modified access along each path.
961 // Walk through the path backwards.
997 // Note that we modify the path's Access field to the
1003 // Short-circuit if we found a public path.
1012 "fell out of loop with public path");
1014 // We didn't find a public path, but at least one path was subject
1159 /// Diagnose the path which caused the given declaration or base class
1181 // class, then we must be constrained by the path.
1199 CXXBasePath &path = *FindBestPath(S, EC, entity, accessSoFar, paths);
1200 assert(path.Access != AS_public);
1202 CXXBasePath::iterator i = path.end(), e = path.begin();
1244 if (constrainingBase == path.end())
1252 constrainingBase + 1 != path.end()) {
1391 CXXBasePath *Path = FindBestPath(S, EC, Entity, FinalAccess, Paths);
1392 if (!Path)
1395 assert(Path->Access <= UnprivilegedAccess &&
1396 "access along best path worse than direct?");
1397 if (Path->Access == AS_public)
1450 // If the access path is public, it's accessible everywhere.
1579 // Fast path.
1604 // There's never a path involved when checking implicit destructor access.
1758 // inheritance path modifying access.
1815 const CXXBasePath &Path,
1822 if (Path.Access == AS_public)
1830 Path.Access);