aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST/ASTContext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/AST/ASTContext.h')
-rw-r--r--include/clang/AST/ASTContext.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h
index d4878a99a6..6a03eefbba 100644
--- a/include/clang/AST/ASTContext.h
+++ b/include/clang/AST/ASTContext.h
@@ -328,6 +328,10 @@ class ASTContext : public RefCountedBase<ASTContext> {
typedef llvm::TinyPtrVector<const CXXMethodDecl*> CXXMethodVector;
llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;
+ /// \brief Used to cache results from \c getBaseObjCCategoriesAfterInterface.
+ mutable llvm::DenseMap<const ObjCInterfaceDecl *,
+ llvm::SmallVector<const ObjCCategoryDecl *, 2> > CatsAfterInterface;
+
/// \brief Mapping from each declaration context to its corresponding lambda
/// mangling context.
llvm::DenseMap<const DeclContext *, LambdaMangleContext> LambdaMangleContexts;
@@ -682,7 +686,12 @@ public:
void getOverriddenMethods(
const NamedDecl *Method,
SmallVectorImpl<const NamedDecl *> &Overridden) const;
-
+
+ /// \brief Returns the ObjC categories of base classes, that were declared
+ /// after the given interface declaration.
+ void getBaseObjCCategoriesAfterInterface(const ObjCInterfaceDecl *D,
+ SmallVectorImpl<const ObjCCategoryDecl *> &Cats) const;
+
/// \brief Notify the AST context that a new import declaration has been
/// parsed or implicitly created within this translation unit.
void addedLocalImportDecl(ImportDecl *Import);