[AST][NFC] Small doc update for DeclContext

Factored out from https://reviews.llvm.org/D49729
following @erichkeane comments.

* Add missing classes in the list of classes
  deriving directly from DeclContext.
* Move the friend declarations together and
  add a comment for why they are required.

Reviewed By: erichkeane

Differential Revision: https://reviews.llvm.org/D49790

llvm-svn: 338887
This commit is contained in:
Bruno Ricci 2018-08-03 13:31:20 +00:00
parent 480a6c1a0b
commit c5176cf77e
1 changed files with 15 additions and 8 deletions

View File

@ -1250,16 +1250,29 @@ public:
/// that directly derive from DeclContext are mentioned, not their subclasses):
///
/// TranslationUnitDecl
/// ExternCContext
/// NamespaceDecl
/// FunctionDecl
/// TagDecl
/// OMPDeclareReductionDecl
/// FunctionDecl
/// ObjCMethodDecl
/// ObjCContainerDecl
/// LinkageSpecDecl
/// ExportDecl
/// BlockDecl
/// OMPDeclareReductionDecl
/// CapturedDecl
class DeclContext {
/// For makeDeclVisibleInContextImpl
friend class ASTDeclReader;
/// For reconcileExternalVisibleStorage, CreateStoredDeclsMap,
/// hasNeedToReconcileExternalVisibleStorage
friend class ExternalASTSource;
/// For CreateStoredDeclsMap
friend class DependentDiagnostic;
/// For hasNeedToReconcileExternalVisibleStorage,
/// hasLazyLocalLexicalLookups, hasLazyExternalLexicalLookups
friend class ASTWriter;
// We use uint64_t in the bit-fields below since some bit-fields
// cross the unsigned boundary and this breaks the packing.
@ -1716,10 +1729,6 @@ protected:
"BlockDeclBitfields is larger than 8 bytes!");
};
friend class ASTDeclReader;
friend class ASTWriter;
friend class ExternalASTSource;
/// FirstDecl - The first declaration stored within this declaration
/// context.
mutable Decl *FirstDecl = nullptr;
@ -2398,8 +2407,6 @@ private:
DeclContextBits.HasLazyExternalLexicalLookups = HasLELL;
}
friend class DependentDiagnostic;
void reconcileExternalVisibleStorage() const;
bool LoadLexicalDeclsFromExternalStorage() const;