clang  9.0.0svn
Classes | Namespaces | Typedefs
ExternalASTSource.h File Reference
#include "clang/AST/CharUnits.h"
#include "clang/AST/DeclBase.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/Module.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <string>
#include <utility>
Include dependency graph for ExternalASTSource.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::ExternalASTSource
 Abstract interface for external sources of AST nodes. More...
 
class  clang::ExternalASTSource::Deserializing
 RAII class for safely pairing a StartedDeserializing call with FinishedDeserializing. More...
 
class  clang::ExternalASTSource::ASTSourceDescriptor
 Abstracts clang modules and precompiled header files and holds everything needed to generate debug info for an imported module or PCH. More...
 
struct  clang::ExternalASTSource::MemoryBufferSizes
 
struct  clang::LazyOffsetPtr< T, OffsT, Get >
 A lazy pointer to an AST node (of base type T) that resides within an external AST source. More...
 
struct  clang::LazyGenerationalUpdatePtr< Owner, T, Update >
 A lazy value (of type T) that is within an AST node of type Owner, where the value might change in later generations of the external AST source. More...
 
struct  clang::LazyGenerationalUpdatePtr< Owner, T, Update >::LazyData
 A cache of the value of this pointer, in the most recent generation in which we queried it. More...
 
struct  llvm::PointerLikeTypeTraits< clang::LazyGenerationalUpdatePtr< Owner, T, Update > >
 
class  clang::LazyVector< T, Source, Loader, LoadedStorage, LocalStorage >
 Represents a lazily-loaded vector of data. More...
 
class  clang::LazyVector< T, Source, Loader, LoadedStorage, LocalStorage >::iterator
 Iteration over the elements in the vector. More...
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 llvm
 Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion.
 

Typedefs

using clang::LazyDeclStmtPtr = LazyOffsetPtr< Stmt, uint64_t, &ExternalASTSource::GetExternalDeclStmt >
 A lazy pointer to a statement. More...
 
using clang::LazyDeclPtr = LazyOffsetPtr< Decl, uint32_t, &ExternalASTSource::GetExternalDecl >
 A lazy pointer to a declaration. More...
 
using clang::LazyCXXCtorInitializersPtr = LazyOffsetPtr< CXXCtorInitializer *, uint64_t, &ExternalASTSource::GetExternalCXXCtorInitializers >
 A lazy pointer to a set of CXXCtorInitializers. More...
 
using clang::LazyCXXBaseSpecifiersPtr = LazyOffsetPtr< CXXBaseSpecifier, uint64_t, &ExternalASTSource::GetExternalCXXBaseSpecifiers >
 A lazy pointer to a set of CXXBaseSpecifiers. More...