Home | History | Annotate | Download | only in Sema

Lines Matching defs:Path

604   /// The path down to the current base class.
615 /// Check classes in the current path for friendship, starting at
632 /// along the current path such that a notional public member of
633 /// the final class in the path would have access in that class.
635 // If we ever reach the naming class, check the current path for
697 /// of NamingClass) might be more accessible along some path not
810 // along this path, we just need to check whether the classes
870 /// Finds the best path from the naming class to the declaring class,
896 /// Along a single inheritance path we can restate both of these
904 /// Let B_1 .. B_n be the inheritance path in question (i.e. where
907 /// closest accessible base in the path:
947 // Derive the friend-modified access along each path.
952 // Walk through the path backwards.
988 // Note that we modify the path's Access field to the
994 // Short-circuit if we found a public path.
1003 "fell out of loop with public path");
1005 // We didn't find a public path, but at least one path was subject
1148 /// Diagnose the path which caused the given declaration or base class
1170 // class, then we must be constrained by the path.
1188 CXXBasePath &path = *FindBestPath(S, EC, entity, accessSoFar, paths);
1189 assert(path.Access != AS_public);
1191 CXXBasePath::iterator i = path.end(), e = path.begin();
1233 if (constrainingBase == path.end())
1241 constrainingBase + 1 != path.end()) {
1381 CXXBasePath *Path = FindBestPath(S, EC, Entity, FinalAccess, Paths);
1382 if (!Path)
1385 assert(Path->Access <= UnprivilegedAccess &&
1386 path worse than direct?");
1387 if (Path->Access == AS_public)
1439 // If the access path is public, it's accessible everywhere.
1569 // Fast path.
1594 // There's never a path involved when checking implicit destructor access.
1745 // inheritance path modifying access.
1799 const CXXBasePath &Path,
1806 if (Path.Access == AS_public)
1814 Path.Access);