aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST/CXXInheritance.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-01-20 21:53:11 +0000
committerJohn McCall <rjmccall@apple.com>2010-01-20 21:53:11 +0000
commit46460a68f6508775e98c19b4bb8454bb471aac24 (patch)
treed1149be909b4f69e69a2d06d67538462ba88282e /include/clang/AST/CXXInheritance.h
parent78205d4bada39d95097e766af9eb30cdd0159461 (diff)
First pass at collecting access-specifier information along inheritance paths.
Triggers lots of assertions about missing access information; fix them. Will actually consume this information soon. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94038 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST/CXXInheritance.h')
-rw-r--r--include/clang/AST/CXXInheritance.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/clang/AST/CXXInheritance.h b/include/clang/AST/CXXInheritance.h
index 7c826fe75d..77356f2f4d 100644
--- a/include/clang/AST/CXXInheritance.h
+++ b/include/clang/AST/CXXInheritance.h
@@ -65,6 +65,9 @@ struct CXXBasePathElement {
/// subobject is being used.
class CXXBasePath : public llvm::SmallVector<CXXBasePathElement, 4> {
public:
+ /// \brief The access along this inheritance path.
+ AccessSpecifier Access;
+
/// \brief The set of declarations found inside this base class
/// subobject.
DeclContext::lookup_result Decls;
@@ -131,9 +134,13 @@ class CXXBasePaths {
/// is also recorded.
bool DetectVirtual;
- /// ScratchPath - A BasePath that is used by Sema::IsDerivedFrom
+ /// ScratchPath - A BasePath that is used by Sema::lookupInBases
/// to help build the set of paths.
CXXBasePath ScratchPath;
+
+ /// ScratchAccess - A stack of accessibility annotations used by
+ /// Sema::lookupInBases.
+ llvm::SmallVector<AccessSpecifier, 4> ScratchAccess;
/// DetectedVirtual - The base class that is virtual.
const RecordType *DetectedVirtual;