clang 17.0.0git
|
Defines the clang::ASTContext interface. More...
#include "clang/AST/ASTFwd.h"
#include "clang/AST/CanonicalType.h"
#include "clang/AST/CommentCommandTraits.h"
#include "clang/AST/ComparisonCategories.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclarationName.h"
#include "clang/AST/ExternalASTSource.h"
#include "clang/AST/NestedNameSpecifier.h"
#include "clang/AST/PrettyPrinter.h"
#include "clang/AST/RawCommentList.h"
#include "clang/AST/TemplateName.h"
#include "clang/Basic/IdentifierTable.h"
#include "clang/Basic/LLVM.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/NoSanitizeList.h"
#include "clang/Basic/PartialDiagnostic.h"
#include "clang/Basic/ProfileList.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/XRayLists.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/ADT/FoldingSet.h"
#include "llvm/ADT/IntrusiveRefCntPtr.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/PointerUnion.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TinyPtrVector.h"
#include "llvm/Support/TypeSize.h"
#include <optional>
#include "clang/Basic/OpenCLImageTypes.def"
#include "clang/Basic/OpenCLExtensionTypes.def"
#include "clang/Basic/AArch64SVEACLETypes.def"
#include "clang/Basic/PPCTypes.def"
#include "clang/Basic/RISCVVTypes.def"
#include "clang/Basic/WebAssemblyReferenceTypes.def"
Go to the source code of this file.
Classes | |
struct | clang::TypeInfo |
struct | clang::TypeInfoChars |
class | clang::ASTContext |
Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic analysis of a file. More... | |
struct | clang::ASTContext::CUDAConstantEvalContext |
struct | clang::ASTContext::CUDAConstantEvalContextRAII |
struct | clang::ASTContext::BuiltinVectorTypeInfo |
struct | clang::ASTContext::SectionInfo |
Namespaces | |
namespace | llvm |
YAML serialization mapping. | |
namespace | clang |
namespace | clang::Builtin |
namespace | clang::comments |
namespace | clang::interp |
namespace | clang::serialization |
Macros | |
#define | IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) CanQualType SingletonId; |
#define | EXT_OPAQUE_TYPE(ExtType, Id, Ext) CanQualType Id##Ty; |
#define | SVE_TYPE(Name, Id, SingletonId) CanQualType SingletonId; |
#define | PPC_VECTOR_TYPE(Name, Id, Size) CanQualType Id##Ty; |
#define | RVV_TYPE(Name, Id, SingletonId) CanQualType SingletonId; |
#define | WASM_TYPE(Name, Id, SingletonId) CanQualType SingletonId; |
#define | OPT_LIST(V) |
#define | V(N, I) ObjCEncOptions& set##N() { Bits |= 1 << I; return *this; } |
#define | V(N, I) bool N() const { return Bits & 1 << I; } |
Enumerations | |
enum class | clang::AlignRequirementKind { clang::None , clang::RequiredByTypedef , clang::RequiredByRecord , clang::RequiredByEnum } |
Functions | |
const StreamingDiagnostic & | clang::operator<< (const StreamingDiagnostic &DB, const ASTContext::SectionInfo &Section) |
Insertion operator for diagnostics. | |
Selector | clang::GetNullarySelector (StringRef name, ASTContext &Ctx) |
Utility function for constructing a nullary selector. | |
Selector | clang::GetUnarySelector (StringRef name, ASTContext &Ctx) |
Utility function for constructing an unary selector. | |
void * | operator new (size_t Bytes, const clang::ASTContext &C, size_t Alignment) |
Placement new for using the ASTContext's allocator. | |
void | operator delete (void *Ptr, const clang::ASTContext &C, size_t) |
Placement delete companion to the new above. | |
void * | operator new[] (size_t Bytes, const clang::ASTContext &C, size_t Alignment) |
This placement form of operator new[] uses the ASTContext's allocator for obtaining memory. | |
void | operator delete[] (void *Ptr, const clang::ASTContext &C, size_t) |
Placement delete[] companion to the new[] above. | |
Defines the clang::ASTContext interface.
Definition in file ASTContext.h.
Definition at line 1117 of file ASTContext.h.
#define IMAGE_TYPE | ( | ImgType, | |
Id, | |||
SingletonId, | |||
Access, | |||
Suffix | |||
) | CanQualType SingletonId; |
Definition at line 1110 of file ASTContext.h.
#define OPT_LIST | ( | V | ) |
Definition at line 3217 of file ASTContext.h.
Definition at line 1123 of file ASTContext.h.
#define RVV_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | CanQualType SingletonId; |
Definition at line 1126 of file ASTContext.h.
#define SVE_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | CanQualType SingletonId; |
Definition at line 1120 of file ASTContext.h.
#define V | ( | N, | |
I | |||
) | ObjCEncOptions& set##N() { Bits |= 1 << I; return *this; } |
Definition at line 3230 of file ASTContext.h.
Definition at line 3230 of file ASTContext.h.
#define WASM_TYPE | ( | Name, | |
Id, | |||
SingletonId | |||
) | CanQualType SingletonId; |
Definition at line 1129 of file ASTContext.h.
|
inline |
Placement delete companion to the new above.
This operator is just a companion to the new above. There is no way of invoking it directly; see the new operator for more details. This operator is called implicitly by the compiler if a placement new expression using the ASTContext throws in the object constructor.
Definition at line 3424 of file ASTContext.h.
|
inline |
Placement delete[] companion to the new[] above.
This operator is just a companion to the new[] above. There is no way of invoking it directly; see the new[] operator for more details. This operator is called implicitly by the compiler if a placement new[] expression using the ASTContext throws in the object constructor.
Definition at line 3462 of file ASTContext.h.
|
inline |
Placement new for using the ASTContext's allocator.
This placement form of operator new uses the ASTContext's allocator for obtaining memory.
IMPORTANT: These are also declared in clang/AST/ASTContextAllocate.h! Any changes here need to also be made there.
We intentionally avoid using a nothrow specification here so that the calls to this operator will not perform a null check on the result – the underlying allocator never returns null pointers.
Usage looks like this (assuming there's an ASTContext 'Context' in scope):
Memory allocated through this placement new operator does not need to be explicitly freed, as ASTContext will free all of this memory when it gets destroyed. Please note that you cannot use delete on the pointer.
Bytes | The number of bytes to allocate. Calculated by the compiler. |
C | The ASTContext that provides the allocator. |
Alignment | The alignment of the allocated memory (if the underlying allocator supports it). |
Definition at line 3413 of file ASTContext.h.
|
inline |
This placement form of operator new[] uses the ASTContext's allocator for obtaining memory.
We intentionally avoid using a nothrow specification here so that the calls to this operator will not perform a null check on the result – the underlying allocator never returns null pointers.
Usage looks like this (assuming there's an ASTContext 'Context' in scope):
Memory allocated through this placement new[] operator does not need to be explicitly freed, as ASTContext will free all of this memory when it gets destroyed. Please note that you cannot use delete on the pointer.
Bytes | The number of bytes to allocate. Calculated by the compiler. |
C | The ASTContext that provides the allocator. |
Alignment | The alignment of the allocated memory (if the underlying allocator supports it). |
Definition at line 3451 of file ASTContext.h.