clang 20.0.0git
Classes | Namespaces | Typedefs
ExternalASTSource.h File Reference
#include "clang/AST/CharUnits.h"
#include "clang/AST/DeclBase.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
#include <new>
#include <optional>
#include <utility>

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...
 
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 > >
 Specialize PointerLikeTypeTraits to allow LazyGenerationalUpdatePtr to be placed into a PointerUnion. More...
 
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

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 

Typedefs

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