Go to the documentation of this file.
17 #ifndef LLVM_CLANG_SERIALIZATION_ASTBITCODES_H
18 #define LLVM_CLANG_SERIALIZATION_ASTBITCODES_H
25 #include "llvm/ADT/DenseMapInfo.h"
26 #include "llvm/Bitstream/BitCodes.h"
31 namespace serialization {
93 explicit TypeIdx(uint32_t index) : Idx(index) {}
98 if (Idx == uint32_t(-1))
127 "hash invalid for types with fast quals");
129 return (
unsigned(
v) >> 4) ^ (
unsigned(
v) >> 9);
252 uint64_t DeclTypesBlockStartOffset) {
1081 #define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \
1082 PREDEF_TYPE_##Id##_ID,
1083 #include "clang/Basic/OpenCLImageTypes.def"
1085 #define EXT_OPAQUE_TYPE(ExtType, Id, Ext) PREDEF_TYPE_##Id##_ID,
1086 #include "clang/Basic/OpenCLExtensionTypes.def"
1088 #define SVE_TYPE(Name, Id, SingletonId) PREDEF_TYPE_##Id##_ID,
1089 #include "clang/Basic/AArch64SVEACLETypes.def"
1091 #define PPC_VECTOR_TYPE(Name, Id, Size) PREDEF_TYPE_##Id##_ID,
1092 #include "clang/Basic/PPCTypes.def"
1094 #define RVV_TYPE(Name, Id, SingletonId) PREDEF_TYPE_##Id##_ID,
1095 #include "clang/Basic/RISCVVTypes.def"
1112 #define TYPE_BIT_CODE(CLASS_ID, CODE_ID, CODE_VALUE) \
1113 TYPE_##CODE_ID = CODE_VALUE,
1114 #include "clang/Serialization/TypeBitCodes.def"
2127 return A.Kind == B.Kind && A.Data == B.Data;
2138 template <>
struct DenseMapInfo<
clang::serialization::DeclarationNameKey> {
2160 #endif // LLVM_CLANG_SERIALIZATION_ASTBITCODES_H
@ DECL_CXX_METHOD
A CXXMethodDecl record.
@ PREDEF_DECL_BUILTIN_MS_GUID_ID
The predeclared '_GUID' struct.
@ PREDEF_TYPE_SHORT_FRACT_ID
The 'short _Fract' type.
@ EXPR_CHARACTER_LITERAL
A CharacterLiteral record.
@ STMT_CXX_TRY
A CXXTryStmt record.
@ DECL_NAMESPACE
A NamespaceDecl record.
@ STMT_MS_DEPENDENT_EXISTS
@ PREDEF_TYPE_UNKNOWN_ANY
The 'unknown any' placeholder type.
@ PREDEF_TYPE_INT128_ID
The '__int128_t' type.
@ STMT_OMP_TARGET_PARALLEL_FOR_DIRECTIVE
@ DECL_OMP_DECLARE_MAPPER
An OMPDeclareMapperDecl record.
@ PP_MACRO_OBJECT_LIKE
An object-like macro definition.
@ DECL_CAPTURED
A CapturedDecl record.
@ EXPR_OBJC_PROPERTY_REF_EXPR
An ObjCPropertyRefExpr record.
@ PREDEF_DECL_OBJC_PROTOCOL_ID
The Objective-C 'Protocol' type.
@ EXPR_PSEUDO_OBJECT
A PseudoObjectExpr record.
@ DECL_USING
A UsingDecl record.
@ PP_TOKEN
Describes one token.
@ DECL_PARM_VAR
A ParmVarDecl record.
@ STMT_DECL
A DeclStmt record.
@ DECL_USING_SHADOW
A UsingShadowDecl record.
@ DECLTYPES_BLOCK_ID
The block containing the definitions of all of the types and decls used within the AST file.
@ PREDEF_TYPE_LONG_ACCUM_ID
The 'long _Accum' type.
YAML serialization mapping.
@ PREDEF_TYPE_SAT_USHORT_FRACT_ID
The '_Sat unsigned short _Fract' type.
A type index; the type ID with the qualifier bits removed.
@ SUBMODULE_EXPORT_AS
Specifies the name of the module that will eventually re-export the entities in this module.
@ EAGERLY_DESERIALIZED_DECLS
Record code for the array of eagerly deserialized decls.
@ SUBMODULE_REQUIRES
Specifies a required feature.
@ EXPR_GENERIC_SELECTION
A GenericSelectionExpr record.
@ PREDEF_TYPE_INCOMPLETE_MATRIX_IDX
A placeholder type for incomplete matrix index operations.
const unsigned int NUM_PREDEF_SELECTOR_IDS
The number of predefined selector IDs.
@ STMT_CAPTURED
A CapturedStmt record.
@ PREDEF_TYPE_NULLPTR_ID
The type of 'nullptr'.
@ STMT_OMP_GENERIC_LOOP_DIRECTIVE
@ STMT_OMP_TARGET_DATA_DIRECTIVE
ExtensionBlockRecordTypes
Record code for extension blocks.
@ OPTIMIZE_PRAGMA_OPTIONS
Record code for #pragma optimize options.
@ STMT_CASE
A CaseStmt record.
BlockIDs
Describes the various kinds of blocks that occur within an AST file.
friend bool operator==(const DeclarationNameKey &A, const DeclarationNameKey &B)
@ PREDEF_TYPE_OMP_ARRAY_SECTION
The placeholder type for OpenMP array section.
@ DECL_UNRESOLVED_USING_IF_EXISTS
An UnresolvedUsingIfExistsDecl record.
@ PREDEF_TYPE_OBJC_SEL
The ObjC 'SEL' type.
@ TYPE_OFFSET
Record code for the offsets of each type.
@ EXPR_INTEGER_LITERAL
An IntegerLiteral record.
@ EXPR_SHUFFLE_VECTOR
A ShuffleVectorExpr record.
@ SUBMODULE_PRIVATE_TEXTUAL_HEADER
Specifies a header that is private to this submodule but must be textually included.
@ PENDING_IMPLICIT_INSTANTIATIONS
Record code for pending implicit instantiations.
@ STMT_OBJC_AT_THROW
An ObjCAtThrowStmt record.
@ DECL_EMPTY
An EmptyDecl record.
@ DECL_FRIEND_TEMPLATE
A FriendTemplateDecl record.
@ SM_SLOC_BUFFER_BLOB
Describes a blob that contains the data for a buffer entry.
@ SUBMODULE_TOPHEADER
Specifies a top-level header that falls into this (sub)module.
@ EXPR_CXX_UNRESOLVED_LOOKUP
A trivial tuple used to represent a source range.
@ DECL_TYPE_ALIAS_TEMPLATE
A TypeAliasTemplateDecl record.
@ DECL_DECOMPOSITION
A DecompositionDecl record.
@ STMT_NULL
A NullStmt record.
@ STMT_OMP_CANONICAL_LOOP
@ EXPR_CXX_UNRESOLVED_MEMBER
@ PREDEF_TYPE_CHAR32_ID
The C++ 'char32_t' type.
@ PREDEF_TYPE_AUTO_DEDUCT
The "auto" deduction type.
@ STMT_MSASM
A MS-style AsmStmt record.
@ INPUT_FILES_BLOCK_ID
The block of input files, which were used as inputs to create this AST file.
@ STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE
@ EXPR_CONVERT_VECTOR
A ConvertVectorExpr record.
@ DECL_USING_PACK
A UsingPackDecl record.
@ PREDEF_TYPE_SAMPLER_ID
OpenCL sampler type.
@ DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION
A ClassScopeFunctionSpecializationDecl record a class scope function specialization.
@ PREDEF_TYPE_ULONGLONG_ID
The 'unsigned long long' type.
UnderalignedInt64()=default
Source location and bit offset of a declaration.
@ EXPR_CXX_DEPENDENT_SCOPE_DECL_REF
@ EXPR_CSTYLE_CAST
A CStyleCastExpr record.
@ SOURCE_LOCATION_OFFSETS
Record code for the table of offsets into the block of source-location information.
@ PREDEF_TYPE_FLOAT16_ID
The '_Float16' type.
friend bool operator>(const LocalRedeclarationsInfo &X, const LocalRedeclarationsInfo &Y)
@ EXPR_CONDITIONAL_OPERATOR
A ConditionOperator record.
@ DECL_OMP_THREADPRIVATE
An OMPThreadPrivateDecl record.
@ PREDEF_TYPE_SAT_UACCUM_ID
The '_Sat unsigned _Accum' type.
@ PREDEF_DECL_UNSIGNED_INT_128_ID
The unsigned 128-bit integer type.
@ STMT_OMP_MASTER_TASKLOOP_SIMD_DIRECTIVE
Encodes a location in the source.
@ METADATA
AST file metadata, including the AST file version number and information about the compiler used to b...
@ DECL_PRAGMA_COMMENT
A PragmaCommentDecl record.
@ STMT_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE
uint32_t IdentID
An ID number that refers to an identifier in an AST file.
@ EXPR_OBJC_BOOL_LITERAL
An ObjCBoolLiteralExpr record.
@ EXPR_STRING_LITERAL
A StringLiteral record.
Selector getSelector() const
@ STMT_FOR
A ForStmt record.
@ PREDEF_TYPE_UFRACT_ID
The 'unsigned _Fract' type.
A (possibly-)qualified type.
@ STMT_OMP_TEAMS_GENERIC_LOOP_DIRECTIVE
unsigned getLocalFastQualifiers() const
@ EXPR_OBJC_ARRAY_LITERAL
@ PREDEF_TYPE_DOUBLE_ID
The 'double' type.
@ SUBMODULE_CONFLICT
Specifies a conflict with another module.
@ FILE_SYSTEM_OPTIONS
Record code for the filesystem options table.
@ STMT_OBJC_AT_SYNCHRONIZED
An ObjCAtSynchronizedStmt record.
@ SOURCE_MANAGER_BLOCK_ID
The block containing information about the source manager.
@ EXPR_CXX_PROPERTY_REF_EXPR
@ EXPR_IMPLICIT_VALUE_INIT
An ImplicitValueInitExpr record.
@ EXPR_CXX_FUNCTIONAL_CAST
A CXXFunctionalCastExpr record.
@ EXPR_SUBST_NON_TYPE_TEMPLATE_PARM_PACK
@ DECL_USING_ENUM
A UsingEnumDecl record.
@ PREDEF_TYPE_UACCUM_ID
The 'unsigned _Accum' type.
@ EXPR_OBJC_MESSAGE_EXPR
An ObjCMessageExpr record.
@ FLOAT_CONTROL_PRAGMA_OPTIONS
Record code for #pragma float_control options.
@ TENTATIVE_DEFINITIONS
Record code for the array of tentative definitions.
@ STMT_COMPOUND
A CompoundStmt record.
A key used when looking up entities by DeclarationName.
@ DECL_CONSTRUCTOR_USING_SHADOW
A ConstructorUsingShadowDecl record.
@ PREPROCESSOR_OPTIONS
Record code for the preprocessor options table.
friend bool operator>=(const LocalRedeclarationsInfo &X, const LocalRedeclarationsInfo &Y)
@ KNOWN_NAMESPACES
Record code for the set of known namespaces, which are used for typo correction.
@ STMT_CONTINUE
A ContinueStmt record.
CleanupObjectKind
Kinds of cleanup objects owned by ExprWithCleanups.
UnderalignedInt64 BitOffset
Offset relative to the start of the DECLTYPES_BLOCK block.
@ FIRST_EXTENSION_RECORD_ID
The first record ID allocated to the extensions themselves.
@ EXPR_STMT
A StmtExpr record.
@ PREDEF_TYPE_LONGLONG_ID
The (signed) 'long long' type.
@ OBJC_CATEGORIES_MAP
Record code for map of Objective-C class definition IDs to the ObjC categories in a module that are a...
@ EXPR_CXX_PSEUDO_DESTRUCTOR
@ DECL_IMPLICIT_PARAM
An ImplicitParamDecl record.
@ FP_PRAGMA_OPTIONS
Record code for floating point #pragma options.
@ STMT_OMP_DISTRIBUTE_DIRECTIVE
@ STMT_OMP_PARALLEL_FOR_SIMD_DIRECTIVE
DeclOffset(SourceLocation Loc, uint64_t BitOffset, uint64_t DeclTypesBlockStartOffset)
@ PREDEF_TYPE_OMP_ARRAY_SHAPING
The placeholder type for OpenMP array shaping operation.
@ STMT_OMP_ORDERED_DIRECTIVE
@ EXPR_CXX_SCALAR_VALUE_INIT
@ DECL_UNRESOLVED_USING_TYPENAME
An UnresolvedUsingTypenameDecl record.
@ EXPR_ARRAY_INIT_INDEX
An ArrayInitIndexExpr record.
const unsigned VERSION_MAJOR
AST file major version number supported by this version of Clang.
@ PREDEF_TYPE_ACCUM_ID
The '_Accum' type.
@ STMT_OMP_MASKED_DIRECTIVE
@ STMT_OMP_META_DIRECTIVE
@ PREDEF_TYPE_SCHAR_ID
The 'signed char' type.
@ PREPROCESSOR_DETAIL_BLOCK_ID
The block containing the detailed preprocessing record.
@ DECL_CLASS_TEMPLATE
A ClassTemplateDecl record.
@ DECL_OBJC_PROPERTY_IMPL
A ObjCPropertyImplDecl record.
@ PREDEF_TYPE_SAT_LONG_FRACT_ID
The '_Sat long _Fract' type.
@ STMT_OMP_TARGET_TEAMS_DISTRIBUTE_DIRECTIVE
void setBitOffset(uint64_t Offset, const uint64_t DeclTypesBlockStartOffset)
@ TU_UPDATE_LEXICAL
Record code for an update to the TU's lexically contained declarations.
DeclarationNameKey()=default
@ STMT_OMP_SIMD_DIRECTIVE
@ DECL_REQUIRES_EXPR_BODY
A RequiresExprBodyDecl record.
static QualType getTombstoneKey()
@ PREDEF_TYPE_INT_ID
The (signed) 'int' type.
@ PREDEF_TYPE_ULONG_ACCUM_ID
The 'unsigned long _Accum' type.
@ DECL_FIELD
A FieldDecl record.
uint64_t getBitOffset() const
@ EXPR_CXX_DYNAMIC_CAST
A CXXDynamicCastExpr record.
@ DECL_TYPEALIAS
A TypeAliasDecl record.
@ SUBMODULE_DEFINITION
Defines the major attributes of a submodule, including its name and parent.
@ STMT_OMP_TARGET_SIMD_DIRECTIVE
@ PREDEF_DECL_BUILTIN_MS_VA_LIST_ID
The internal '__builtin_ms_va_list' typedef.
The name of a declaration.
@ PREDEF_TYPE_USHORT_ACCUM_ID
The 'unsigned short _Accum' type.
PPSkippedRange(SourceRange R)
@ DECL_UNNAMED_GLOBAL_CONSTANT
A UnnamedGlobalConstantDecl record.
@ EXPR_CXX_STD_INITIALIZER_LIST
A CXXStdInitializerListExpr record.
@ UPDATE_VISIBLE
Record code for an update to a decl context's lookup table.
@ EXPR_CXX_BOOL_LITERAL
A CXXBoolLiteralExpr record.
@ DECL_RECORD
A RecordDecl record.
@ DECL_FUNCTION_TEMPLATE
A FunctionTemplateDecl record.
@ DECL_OBJC_INTERFACE
A ObjCInterfaceDecl record.
uint32_t MacroID
An ID number that refers to a macro in an AST file.
@ PREDEF_TYPE_WCHAR_ID
The C++ 'wchar_t' type.
uint32_t BitOffset
Offset in the AST file relative to ModuleFile::MacroOffsetsBase.
@ DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION
A ClassTemplatePartialSpecializationDecl record.
@ PREDEF_TYPE_NULL_ID
The NULL type.
@ STMT_OMP_TARGET_EXIT_DATA_DIRECTIVE
@ EXPR_CALL
A CallExpr record.
@ EXPR_OBJC_DICTIONARY_LITERAL
@ INPUT_FILE
An input file.
@ STMT_OBJC_AUTORELEASE_POOL
An ObjCAutoreleasePoolStmt record.
SourceLocation getEnd() const
@ STMT_OMP_TASKLOOP_DIRECTIVE
@ DECL_CXX_RECORD
A CXXRecordDecl record.
@ EXPR_DESIGNATED_INIT
A DesignatedInitExpr record.
@ EXPR_OBJC_PROTOCOL_EXPR
An ObjCProtocolExpr record.
@ PREDEF_TYPE_ARC_UNBRIDGED_CAST
ARC's unbridged-cast placeholder type.
@ EXPR_ADDR_LABEL
An AddrLabelExpr record.
@ PP_MACRO_DIRECTIVE_HISTORY
The macro directives history for a particular identifier.
SourceLocation getBegin() const
@ EXPR_OBJC_BOXED_EXPRESSION
@ DECL_CXX_BASE_SPECIFIERS
A record containing CXXBaseSpecifiers.
@ PREDEF_DECL_EXTERN_C_CONTEXT_ID
The extern "C" context.
@ PREDEF_TYPE_ULONG_ID
The 'unsigned long' type.
@ UNUSED_LOCAL_TYPEDEF_NAME_CANDIDATES
Record code for potentially unused local typedef names.
@ PP_COUNTER_VALUE
The value of the next COUNTER to dispense.
@ DECL_FILE_SCOPE_ASM
A FileScopeAsmDecl record.
@ DECL_OBJC_COMPATIBLE_ALIAS
A ObjCCompatibleAliasDecl record.
@ ORIGINAL_PCH_DIR
The directory that the PCH was originally created in.
uint32_t SubmoduleID
An ID number that refers to a submodule in a module file.
@ SOURCE_MANAGER_LINE_TABLE
Record code for the source manager line table information, which stores information about #line direc...
@ STMT_OMP_UNROLL_DIRECTIVE
@ PREDEF_TYPE_SAT_ACCUM_ID
The '_Sat _Accum' type.
@ SM_SLOC_BUFFER_ENTRY
Describes a source location entry (SLocEntry) for a buffer.
@ PREDEF_TYPE_CHAR_U_ID
The 'char' type, when it is unsigned.
@ PREDEF_TYPE_SAT_ULONG_FRACT_ID
The '_Sat unsigned long _Fract' type.
@ EXPR_CXX_CONSTRUCT
A CXXConstructExpr record.
@ DECL_TEMPLATE_TEMPLATE_PARM
A TemplateTemplateParmDecl record.
@ PPD_ENTITIES_OFFSETS
Record code for the table of offsets to entries in the preprocessing record.
@ EXPR_CXX_DEPENDENT_SCOPE_MEMBER
@ SUBMODULE_UMBRELLA_HEADER
Specifies the umbrella header used to create this module, if any.
@ STMT_OMP_PARALLEL_MASTER_TASKLOOP_SIMD_DIRECTIVE
@ DIAGNOSTIC_OPTIONS
Record code for the diagnostic options table.
StmtCode
Record codes for each kind of statement or expression.
const unsigned int NUM_PREDEF_DECL_IDS
The number of declaration IDs that are predefined.
@ EXPR_CXX_MEMBER_CALL
A CXXMemberCallExpr record.
@ STMT_OMP_TASKGROUP_DIRECTIVE
A structure for putting "fast"-unqualified QualTypes into a DenseMap.
@ STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE
@ EXPR_ARRAY_SUBSCRIPT
An ArraySubscriptExpr record.
@ SPECIAL_TYPE_FILE
C FILE typedef type.
@ ORIGINAL_FILE_ID
Record code for file ID of the file or buffer that was used to generate the AST file.
@ PREDEF_TYPE_UINT128_ID
The '__uint128_t' type.
static bool isEqual(QualType A, QualType B)
SourceLocation::UIntTy Loc
Raw source location.
@ DECL_VAR_TEMPLATE_SPECIALIZATION
A VarTemplateSpecializationDecl record.
@ DECL_CXX_DEDUCTION_GUIDE
A CXXDeductionGuideDecl record.
@ PREDEF_TYPE_OBJC_ID
The ObjC 'id' type.
@ DECL_CXX_DESTRUCTOR
A CXXDestructorDecl record.
@ MSSTRUCT_PRAGMA_OPTIONS
Record code for #pragma ms_struct options.
@ STMT_ATTRIBUTED
An AttributedStmt record.
@ EXPR_DESIGNATED_INIT_UPDATE
A DesignatedInitUpdateExpr record.
@ METADATA_OLD_FORMAT
This is so that older clang versions, before the introduction of the control block,...
@ MODULE_MAP_FILE
Record code for the module map file that was used to build this AST file.
uint32_t CXXBaseSpecifiersID
An ID number that refers to a set of CXXBaseSpecifiers in an AST file.
@ EXPR_CXX_STATIC_CAST
A CXXStaticCastExpr record.
@ EXPR_OBJC_AVAILABILITY_CHECK
An ObjCAvailabilityCheckExpr record.
@ STMT_OMP_TILE_DIRECTIVE
@ EXPR_CXX_BIND_TEMPORARY
@ PREDEF_TYPE_USHORT_ID
The 'unsigned short' type.
@ PREDEF_TYPE_LONG_FRACT_ID
The 'long _Fract' type.
ASTRecordTypes
Record types that occur within the AST block itself.
@ DECL_OBJC_CATEGORY
A ObjCCategoryDecl record.
static unsigned getHashValue(const clang::serialization::DeclarationNameKey &Key)
@ STMT_OMP_FOR_SIMD_DIRECTIVE
@ EXPR_SOURCE_LOC
A SourceLocExpr record.
@ STMT_DO
A DoStmt record.
@ DECL_OBJC_AT_DEFS_FIELD
A ObjCAtDefsFieldDecl record.
@ PREDEF_DECL_VA_LIST_TAG
The internal '__va_list_tag' struct, if any.
SpecialTypeIDs
The type IDs for special types constructed by semantic analysis.
@ EXPR_IMPLICIT_CAST
An ImplicitCastExpr record.
@ STMT_OMP_PARALLEL_DIRECTIVE
@ DECL_LINKAGE_SPEC
A LinkageSpecDecl record.
@ DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION
A VarTemplatePartialSpecializationDecl record.
@ DECL_CLASS_TEMPLATE_SPECIALIZATION
A ClassTemplateSpecializationDecl record.
@ UNHASHED_CONTROL_BLOCK_ID
A block with unhashed content.
@ STMT_OBJC_AT_TRY
An ObjCAtTryStmt record.
const unsigned NUM_PREDEF_TYPE_IDS
The number of predefined type IDs that are reserved for the PREDEF_TYPE_* constants.
@ STMT_OBJC_FOR_COLLECTION
An ObjCForCollectionStmt record.
@ CTOR_INITIALIZER_INDIRECT_MEMBER
@ STMT_CXX_CATCH
A CXXCatchStmt record.
SubmoduleRecordTypes
Record types used within a submodule description block.
@ TARGET_OPTIONS
Record code for the target options table.
@ DECL_VAR_TEMPLATE
A VarTemplateDecl record.
@ STATISTICS
Record code for the extra statistics we gather while generating an AST file.
const unsigned int NUM_PREDEF_SUBMODULE_IDS
The number of predefined submodule IDs.
__UINTPTR_TYPE__ uintptr_t
An unsigned integer type with the property that any valid pointer to void can be converted to this ty...
@ EXPR_BUILTIN_BIT_CAST
A BuiltinBitCastExpr record.
@ PREDEF_DECL_OBJC_CLASS_ID
The Objective-C 'Class' type.
@ EXT_VECTOR_DECLS
Record code for the set of ext_vector type names.
@ HEADER_SEARCH_TABLE
Record code for header search information.
SourceLocation::UIntTy Begin
Raw source location of beginning of range.
friend bool operator<=(const LocalRedeclarationsInfo &X, const LocalRedeclarationsInfo &Y)
@ EXPR_CONCEPT_SPECIALIZATION
PPEntityOffset(SourceRange R, uint32_t BitOffset)
@ PREDEF_TYPE_CHAR8_ID
The C++ 'char8_t' type.
@ SIGNATURE
Record code for the signature that identifiers this AST file.
@ STMT_OMP_TARGET_PARALLEL_FOR_SIMD_DIRECTIVE
@ SPECIAL_TYPES
Record code for the set of non-builtin, special types.
@ SUBMODULE_EXPORTS
Specifies the submodules that are re-exported from this submodule.
DesignatorTypes
The kinds of designators that can occur in a DesignatedInitExpr.
@ DECL_OBJC_PROPERTY
A ObjCPropertyDecl record.
@ DECL_OMP_REQUIRES
An OMPRequiresDecl record.
@ DECL_CXX_CONVERSION
A CXXConversionDecl record.
@ AST_BLOCK_HASH
Record code for the content hash of the AST block.
@ DECL_USING_DIRECTIVE
A UsingDirecitveDecl record.
@ TYPE_EXT_QUAL
An ExtQualType record.
uint32_t IdentifierID
An ID number that refers to an identifier in an AST file.
uint32_t TypeID
An ID number that refers to a type in an AST file.
@ INTERESTING_IDENTIFIERS
A list of "interesting" identifiers.
@ PREDEF_TYPE_IBM128_ID
The '__ibm128' type.
const unsigned int NUM_PREDEF_IDENT_IDS
The number of predefined identifier IDs.
@ INPUT_FILE_HASH
The input file content hash.
@ STMT_OMP_CANCEL_DIRECTIVE
@ STMT_OMP_TARGET_PARALLEL_DIRECTIVE
@ PREDEF_TYPE_FLOAT_ID
The 'float' type.
@ DECL_ENUM
An EnumDecl record.
Source range of a skipped preprocessor region.
@ STMT_OMP_SCAN_DIRECTIVE
@ STMT_OMP_PARALLEL_GENERIC_LOOP_DIRECTIVE
@ DECL_STATIC_ASSERT
A StaticAssertDecl record.
@ EXPR_UNARY_OPERATOR
A UnaryOperator record.
@ PP_MODULE_MACRO
A macro directive exported by a module.
@ FILE_SORTED_DECLS
Record code for a file sorted array of DeclIDs in a module.
@ EXTENSION_METADATA
Metadata describing this particular extension.
Describes the categories of an Objective-C class.
@ DECL_OBJC_TYPE_PARAM
An ObjCTypeParamDecl record.
@ STMT_OMP_DISPATCH_DIRECTIVE
@ COMMENTS_BLOCK_ID
The block containing comments.
@ DECL_MS_GUID
A MSGuidDecl record.
@ AST_BLOCK_ID
The AST block, which acts as a container around the full AST block.
@ DECL_OFFSET
Record code for the offsets of each decl.
void setBitOffset(uint64_t Offset)
@ STMT_BREAK
A BreakStmt record.
@ DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK
A TemplateTemplateParmDecl record that stores an expanded template template parameter pack.
@ STMT_OMP_DISTRIBUTE_SIMD_DIRECTIVE
@ CTOR_INITIALIZER_DELEGATING
const unsigned int NUM_PREDEF_PP_ENTITY_IDS
The number of predefined preprocessed entity IDs.
@ STMT_OMP_TEAMS_DIRECTIVE
@ STMT_NULL_PTR
A NULL expression.
@ STMT_RETURN
A ReturnStmt record.
@ PREDEF_TYPE_SAT_SHORT_FRACT_ID
The '_Sat short _Fract' type.
@ PREDEF_TYPE_BOUND_MEMBER
The placeholder type for bound member functions.
@ DELETE_EXPRS_TO_ANALYZE
Delete expressions that will be analyzed later.
@ EXPR_OBJC_ISA
An ObjCIsa Expr record.
@ EXPR_SYCL_UNIQUE_STABLE_NAME
friend bool operator<=(const ObjCCategoriesInfo &X, const ObjCCategoriesInfo &Y)
@ SPECIAL_TYPE_OBJC_SEL_REDEFINITION
Objective-C "SEL" redefinition type.
@ PREDEF_TYPE_UINT_ID
The 'unsigned int' type.
@ EXPR_DECL_REF
A DeclRefExpr record.
@ EXPR_MEMBER
A MemberExpr record.
const unsigned VERSION_MINOR
AST file minor version number supported by this version of Clang.
@ ALIGN_PACK_PRAGMA_OPTIONS
Record code for #pragma align/pack options.
@ SPECIAL_TYPE_OBJC_ID_REDEFINITION
Objective-C "id" redefinition type.
@ EXPR_CXX_REWRITTEN_BINARY_OPERATOR
A CXXRewrittenBinaryOperator record.
OverloadedOperatorKind
Enumeration specifying the different kinds of C++ overloaded operators.
void setLocation(SourceLocation L)
@ STMT_OMP_TARGET_TEAMS_GENERIC_LOOP_DIRECTIVE
@ EXPR_CXX_REINTERPRET_CAST
A CXXReinterpretCastExpr record.
@ PREDEF_TYPE_DEPENDENT_ID
The placeholder type for dependent types.
@ PREDEF_TYPE_EVENT_ID
OpenCL event type.
@ PREDEF_DECL_TRANSLATION_UNIT_ID
The translation unit.
@ DECL_OBJC_IMPLEMENTATION
A ObjCImplementationDecl record.
SourceLocation getBegin() const
@ IMPORTS
Record code for the list of other AST files imported by this AST file.
@ CUDA_PRAGMA_FORCE_HOST_DEVICE_DEPTH
Number of unmatched #pragma clang cuda_force_host_device begin directives we've seen.
@ DECL_CXX_CTOR_INITIALIZERS
A record containing CXXCtorInitializers.
uint32_t PreprocessedEntityID
An ID number that refers to an entity in the detailed preprocessing record.
@ STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE
@ DECL_FRIEND
A FriendDecl record.
@ STMT_INDIRECT_GOTO
An IndirectGotoStmt record.
@ STMT_DEFAULT
A DefaultStmt record.
@ STMT_OMP_TARGET_DIRECTIVE
@ DECL_OBJC_PROTOCOL
A ObjCProtocolDecl record.
@ LANGUAGE_OPTIONS
Record code for the language options table.
@ STMT_OMP_PARALLEL_MASKED_DIRECTIVE
@ SUBMODULE_CONFIG_MACRO
Specifies a configuration macro for this module.
@ DECL_BLOCK
A BlockDecl record.
@ DECL_OMP_DECLARE_REDUCTION
An OMPDeclareReductionDecl record.
@ EXPR_CXX_EXPRESSION_TRAIT
const unsigned NumSpecialTypeIDs
The number of special type IDs.
@ STMT_OMP_DEPOBJ_DIRECTIVE
@ EXPR_PAREN_LIST
A ParenListExpr record.
@ PREDEF_TYPE_CHAR_S_ID
The 'char' type, when it is signed.
@ EXPR_SIZEOF_ALIGN_OF
A SizefAlignOfExpr record.
static clang::serialization::DeclarationNameKey getEmptyKey()
DeclCode
Record codes for each kind of declaration.
@ EXPR_FUNCTION_PARM_PACK
@ PREDEF_DECL_MAKE_INTEGER_SEQ_ID
The internal '__make_integer_seq' template.
@ EXPR_MATRIX_SUBSCRIPT
An MatrixSubscriptExpr record.
@ PREDEF_TYPE_BOOL_ID
The 'bool' or '_Bool' type.
@ PREDEF_TYPE_OMP_ITERATOR
The placeholder type for OpenMP iterator expression.
@ PREDEF_TYPE_ULONG_FRACT_ID
The 'unsigned long _Fract' type.
@ PP_INCLUDED_FILES
Record code for included files.
@ EXPR_CXX_OPERATOR_CALL
A CXXOperatorCallExpr record.
@ DECL_EXPORT
An ExportDecl record.
@ STMT_OMP_TARGET_ENTER_DATA_DIRECTIVE
static bool isEqual(const clang::serialization::DeclarationNameKey &L, const clang::serialization::DeclarationNameKey &R)
@ EXPR_BINARY_OPERATOR
A BinaryOperator record.
CommentRecordTypes
Record types used within a comments block.
@ PREDEF_TYPE_SAT_USHORT_ACCUM_ID
The '_Sat unsigned short _Accum' type.
@ DECL_OBJC_METHOD
A ObjCMethodDecl record.
@ STMT_OMP_FLUSH_DIRECTIVE
@ PREDEF_TYPE_OBJC_CLASS
The ObjC 'Class' type.
@ EXPR_CXX_NULL_PTR_LITERAL
SourceLocation::UIntTy Begin
Raw source location of beginning of range.
@ DESIG_ARRAY
Array designator.
@ IMPORTED_MODULES
Record code for an array of all of the (sub)modules that were imported by the AST file.
OverloadedOperatorKind getOperatorKind() const
@ STMT_IF
An IfStmt record.
Source range/offset of a preprocessed entity.
@ DESIG_FIELD_NAME
Field designator where only the field name is known.
@ PPD_MACRO_EXPANSION
Describes a macro expansion within the preprocessing record.
@ DECL_OMP_ALLOCATE
An OMPAllocateDcl record.
@ STMT_OMP_TASKYIELD_DIRECTIVE
@ PREDEF_TYPE_CLK_EVENT_ID
OpenCL clk event type.
@ PREDEF_TYPE_BUILTIN_FN
The placeholder type for builtin functions.
@ STMT_OMP_TARGET_PARALLEL_GENERIC_LOOP_DIRECTIVE
@ DECL_VAR
A VarDecl record.
@ STMT_OBJC_CATCH
An ObjCAtCatchStmt record.
@ DECLS_TO_CHECK_FOR_DEFERRED_DIAGS
Record code for the Decls to be checked for deferred diags.
@ ORIGINAL_FILE
Record code for the original file that was used to generate the AST file, including both its file ID ...
@ DECL_ACCESS_SPEC
An AccessSpecDecl record.
@ EXPR_CXX_ADDRSPACE_CAST
A CXXAddrspaceCastExpr record.
@ STMT_CXX_FOR_RANGE
A CXXForRangeStmt record.
@ DECL_UNRESOLVED_USING_VALUE
An UnresolvedUsingValueDecl record.
@ DECL_TEMPLATE_PARAM_OBJECT
A TemplateParamObjectDecl record.
const unsigned int LOCAL_REDECLARATIONS
Record code for a list of local redeclarations of a declaration.
@ DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK
A NonTypeTemplateParmDecl record that stores an expanded non-type template parameter pack.
friend bool operator>=(const ObjCCategoriesInfo &X, const ObjCCategoriesInfo &Y)
@ EXPR_EXPR_WITH_CLEANUPS
@ SEMA_DECL_REFS
Record code for declarations that Sema keeps references of.
@ SPECIAL_TYPE_OBJC_CLASS_REDEFINITION
Objective-C "Class" redefinition type.
@ EXPR_OBJC_INDIRECT_COPY_RESTORE
An ObjCIndirectCopyRestoreExpr record.
@ SM_SLOC_FILE_ENTRY
Describes a source location entry (SLocEntry) for a file.
@ FastWidth
The width of the "fast" qualifier mask.
@ PREDEF_TYPE_SAT_FRACT_ID
The '_Sat _Fract' type.
@ EXPR_INIT_LIST
An InitListExpr record.
@ STMT_OMP_INTEROP_DIRECTIVE
uint64_t getBitOffset(const uint64_t DeclTypesBlockStartOffset) const
@ EXPR_CXX_CONST_CAST
A CXXConstCastExpr record.
@ EXTENSION_BLOCK_ID
A block containing a module file extension.
@ SUBMODULE_BLOCK_ID
The block containing the submodule structure.
ControlRecordTypes
Record types that occur within the control block.
@ PREDEF_TYPE_SAT_UFRACT_ID
The '_Sat unsigned _Fract' type.
@ EXPR_NO_INIT
An NoInitExpr record.
@ MACRO_OFFSET
Record code for the table of offsets of each macro ID.
@ EXPR_VA_ARG
A VAArgExpr record.
@ IDENTIFIER_OFFSET
Record code for the table of offsets of each identifier ID.
const unsigned int NUM_PREDEF_MACRO_IDS
The number of predefined macro IDs.
@ STMT_OMP_TASKWAIT_DIRECTIVE
@ STMT_OMP_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE
@ DECL_ENUM_CONSTANT
An EnumConstantDecl record.
@ PP_MACRO_FUNCTION_LIKE
A function-like macro definition.
@ PPD_SKIPPED_RANGES
A table of skipped ranges within the preprocessing record.
@ EXPR_OBJC_ENCODE
An ObjCEncodeExpr record.
@ DECL_MS_PROPERTY
A MSPropertyDecl record.
@ VTABLE_USES
Record code for the array of VTable uses.
@ PREDEF_TYPE_SHORT_ID
The (signed) 'short' type.
@ EXPR_OBJC_IVAR_REF_EXPR
An ObjCIvarRefExpr record.
@ STMT_STOP
A marker record that indicates that we are at the end of an expression.
@ DECL_OBJC_CATEGORY_IMPL
A ObjCCategoryImplDecl record.
@ DECL_CONCEPT
A ConceptDecl record.
@ STMT_OMP_SINGLE_DIRECTIVE
@ EXPR_OBJC_KVC_REF_EXPR
UNUSED.
@ HEADER_SEARCH_OPTIONS
Record code for the headers search options table.
@ SUBMODULE_INITIALIZERS
Specifies some declarations with initializers that must be emitted to initialize the module.
@ EXPR_PAREN
A ParenExpr record.
@ PREDEF_DECL_CF_CONSTANT_STRING_TAG_ID
The internal '__NSConstantString' tag type.
@ PREDEF_DECL_NULL_ID
The NULL declaration.
friend bool operator<(const LocalRedeclarationsInfo &X, const LocalRedeclarationsInfo &Y)
One of these records is kept for each identifier that is lexed.
@ SM_SLOC_BUFFER_BLOB_COMPRESSED
Describes a zlib-compressed blob that contains the data for a buffer entry.
@ DECL_TYPEDEF
A TypedefDecl record.
@ PREDEF_TYPE_SAT_SHORT_ACCUM_ID
The '_Sat short _Accum' type.
@ PREDEF_DECL_OBJC_INSTANCETYPE_ID
The internal 'instancetype' typedef.
@ STMT_GCCASM
A GCC-style AsmStmt record.
static SourceLocation getFromRawEncoding(UIntTy Encoding)
Turn a raw encoding of a SourceLocation object into a real SourceLocation.
@ PP_ASSUME_NONNULL_LOC
Record code for an unterminated #pragma clang assume_nonnull begin recorded in a preamble.
static QualType getFromOpaquePtr(const void *Ptr)
@ OPENCL_EXTENSION_TYPES
Record code for types associated with OpenCL extensions.
@ STMT_OMP_TARGET_UPDATE_DIRECTIVE
@ SPECIAL_TYPE_UCONTEXT_T
C ucontext_t typedef type.
PreprocessorRecordTypes
Record types used within a preprocessor block.
@ STMT_OMP_PARALLEL_MASTER_DIRECTIVE
@ CONTROL_BLOCK_ID
The control block, which contains all of the information that needs to be validated prior to committi...
Describes the redeclarations of a declaration.
const unsigned int DECL_UPDATES
Record of updates for a declaration that was modified after being deserialized.
@ SPECIAL_TYPE_SIGJMP_BUF
C sigjmp_buf typedef type.
SourceLocation::UIntTy End
Raw source location of end of range.
@ STMT_OMP_MASTER_TASKLOOP_DIRECTIVE
@ PREDEF_TYPE_AUTO_RREF_DEDUCT
The "auto &&" deduction type.
@ DELEGATING_CTORS
The list of delegating constructor declarations.
@ POINTERS_TO_MEMBERS_PRAGMA_OPTIONS
Record code for #pragma ms_struct options.
uint32_t getIndex() const
@ HEADER_SEARCH_ENTRY_USAGE
Record code for the indices of used header search entries.
@ DIAG_PRAGMA_MAPPINGS
Record code for #pragma diagnostic mappings.
@ OPTIONS_BLOCK_ID
The block of configuration options, used to check that a module is being used in a configuration comp...
TypeCode
Record codes for each kind of type.
@ DECL_FUNCTION
A FunctionDecl record.
@ EXPR_PREDEFINED
A PredefinedExpr record.
@ EXPR_CXX_UNRESOLVED_CONSTRUCT
@ STMT_OMP_PARALLEL_MASTER_TASKLOOP_DIRECTIVE
@ PREDEF_TYPE_SHORT_ACCUM_ID
The 'short _Accum' type.
@ DECL_INDIRECTFIELD
A IndirectFieldDecl record.
@ CUDA_SPECIAL_DECL_REFS
Record code for special CUDA declarations.
@ EXPR_CXX_INHERITED_CTOR_INIT
A CXXInheritedCtorInitExpr record.
@ PREDEF_TYPE_LONG_ID
The (signed) 'long' type.
@ PREPROCESSOR_BLOCK_ID
The block containing information about the preprocessor.
@ EXPR_MATERIALIZE_TEMPORARY
@ EXPR_RECOVERY
A RecoveryExpr record.
UnhashedControlBlockRecordTypes
Record codes for the unhashed control block.
UnderalignedInt64(uint64_t BitOffset)
static clang::serialization::DeclarationNameKey getTombstoneKey()
OptionsRecordTypes
Record types that occur within the options block inside the control block.
@ SUBMODULE_HEADER
Specifies a header that falls into this (sub)module.
@ PREDEF_DECL_OBJC_ID_ID
The Objective-C 'id' type.
@ PREDEF_TYPE_USHORT_FRACT_ID
The 'unsigned short _Fract' type.
@ DECL_UPDATE_OFFSETS
Record for offsets of DECL_UPDATES records for declarations that were modified after being deserializ...
CtorInitializerType
The different kinds of data that can occur in a CtorInitializer.
@ STMT_OMP_SECTIONS_DIRECTIVE
SourceLocation getEnd() const
Smart pointer class that efficiently represents Objective-C method names.
TypeID asTypeID(unsigned FastQuals) const
@ WEAK_UNDECLARED_IDENTIFIERS
Record code for weak undeclared identifiers.
@ EXPR_COMPOUND_ASSIGN_OPERATOR
A CompoundAssignOperator record.
@ EXPR_EXT_VECTOR_ELEMENT
An ExtVectorElementExpr record.
@ DECL_TEMPLATE_TYPE_PARM
A TemplateTypeParmDecl record.
static TypeIdx fromTypeID(TypeID ID)
@ PREDEF_TYPE_SAT_ULONG_ACCUM_ID
The '_Sat unsigned long _Accum' type.
@ PREDEF_TYPE_OVERLOAD_ID
The placeholder type for overloaded function sets.
@ STMT_OMP_BARRIER_DIRECTIVE
@ DECL_LIFETIME_EXTENDED_TEMPORARY
An LifetimeExtendedTemporaryDecl record.
@ PREDEF_DECL_BUILTIN_VA_LIST_ID
The internal '__builtin_va_list' typedef.
@ EXPR_ATOMIC
An AtomicExpr record.
@ STMT_OMP_ATOMIC_DIRECTIVE
@ PREDEF_DECL_TYPE_PACK_ELEMENT_ID
The internal '__type_pack_element' template.
@ EXPR_OBJC_STRING_LITERAL
An ObjCStringLiteral record.
@ PREDEF_TYPE_VOID_ID
The void type.
@ EXPR_SUBST_NON_TYPE_TEMPLATE_PARM
@ UNDEFINED_BUT_USED
Record code for undefined but used functions and variables that need a definition in this TU.
@ EXPR_FIXEDPOINT_LITERAL
@ DECL_CXX_CONSTRUCTOR
A CXXConstructorDecl record.
@ EXPR_GNU_NULL
A GNUNullExpr record.
@ PREDEF_TYPE_RESERVE_ID_ID
OpenCL reserve_id type.
@ SM_SLOC_EXPANSION_ENTRY
Describes a source location entry (SLocEntry) for a macro expansion.
@ IDENTIFIER_TABLE
Record code for the identifier table.
@ STMT_OMP_TASK_DIRECTIVE
PredefinedTypeIDs
Predefined type IDs.
@ PREDEF_TYPE_LONGDOUBLE_ID
The 'long double' type.
@ STMT_LABEL
A LabelStmt record.
@ DECL_OMP_CAPTUREDEXPR
An OMPCapturedExprDecl record.
@ STMT_OMP_SECTION_DIRECTIVE
@ PREDEF_TYPE_PSEUDO_OBJECT
The pseudo-object placeholder type.
@ SOURCE_LOCATION_PRELOADS
Record code for the set of source location entries that need to be preloaded by the AST reader.
@ SUBMODULE_LINK_LIBRARY
Specifies a library or framework to link against.
@ SUBMODULE_IMPORTS
Specifies the submodules that are imported by this submodule.
@ MODULE_NAME
Record code for the module name.
@ DECL_NAMESPACE_ALIAS
A NamespaceAliasDecl record.
@ STMT_OMP_MASTER_DIRECTIVE
@ STMT_OMP_TARGET_TEAMS_DIRECTIVE
@ EXPR_OFFSETOF
An OffsetOfExpr record.
@ SUBMODULE_TEXTUAL_HEADER
Specifies a header that is part of the module but must be textually included.
void * getAsOpaquePtr() const
@ STMT_OMP_PARALLEL_FOR_DIRECTIVE
@ EXPR_CHOOSE
A ChooseExpr record.
@ STMT_OMP_CANCELLATION_POINT_DIRECTIVE
@ EXPR_CONSTANT
A constant expression context.
@ SUBMODULE_METADATA
Metadata for submodules as a whole.
@ DECL_IMPORT
An ImportDecl recording a module import.
@ PPD_MACRO_DEFINITION
Describes a macro definition within the preprocessing record.
@ UNUSED_FILESCOPED_DECLS
Record code for the array of unused file scoped decls.
@ STMT_SWITCH
A SwitchStmt record.
@ EXPR_FLOATING_LITERAL
A FloatingLiteral record.
@ PREDEF_TYPE_SAT_LONG_ACCUM_ID
The '_Sat long _Accum' type.
@ PPD_INCLUSION_DIRECTIVE
Describes an inclusion directive within the preprocessing record.
uint32_t CXXCtorInitializersID
An ID number that refers to a list of CXXCtorInitializers in an AST file.
@ STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE
@ DECL_LABEL
A LabelDecl record.
@ EXPR_CXX_PROPERTY_SUBSCRIPT_EXPR
@ PP_CONDITIONAL_STACK
The stack of open #ifs/#ifdefs recorded in a preamble.
@ LATE_PARSED_TEMPLATE
Record code for late parsed template functions.
@ STMT_OMP_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE
@ OPENCL_EXTENSION_DECLS
Record code for declarations associated with OpenCL extensions.
@ METHOD_POOL
Record code for the Objective-C method pool,.
@ STMT_OMP_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE
@ SUBMODULE_PRIVATE_HEADER
Specifies a header that is private to this submodule.
@ DECL_PRAGMA_DETECT_MISMATCH
A PragmaDetectMismatchDecl record.
static QualType getEmptyKey()
@ STMT_GOTO
A GotoStmt record.
@ EXPR_OBJC_SELECTOR_EXPR
An ObjCSelectorExpr record.
@ DESIG_ARRAY_RANGE
GNU array range designator.
@ PREDEF_TYPE_CHAR16_ID
The C++ 'char16_t' type.
@ STMT_OBJC_FINALLY
An ObjCAtFinallyStmt record.
@ STMT_WHILE
A WhileStmt record.
friend bool operator>(const ObjCCategoriesInfo &X, const ObjCCategoriesInfo &Y)
uint32_t DeclID
An ID number that refers to a declaration in an AST file.
@ EXPR_BINARY_CONDITIONAL_OPERATOR
uint32_t LocalMacroID
A local to a module ID number that refers to a macro in an AST file.
friend bool operator<(const ObjCCategoriesInfo &X, const ObjCCategoriesInfo &Y)
@ PREDEF_TYPE_FLOAT128_ID
The '__float128' type.
@ DECL_CONTEXT_VISIBLE
A record that stores the set of declarations that are visible from a given DeclContext.
uint32_t SelectorID
An ID number that refers to an ObjC selector in an AST file.
@ DESIG_FIELD_DECL
Field designator where the field has been resolved to a declaration.
@ DECL_OBJC_IVAR
A ObjCIvarDecl record.
@ STMT_OMP_CRITICAL_DIRECTIVE
@ SELECTOR_OFFSETS
Record code for the table of offsets into the Objective-C method pool.
@ PREDEF_TYPE_BFLOAT16_ID
The '__bf16' type.
@ MODULE_OFFSET_MAP
Record code for the remapping information used to relate loaded modules to the various offsets and ID...
@ STMT_OMP_TEAMS_DISTRIBUTE_DIRECTIVE
@ CTOR_INITIALIZER_MEMBER
SourceLocation::UIntTy End
Raw source location of end of range.
@ EXPR_COMPOUND_LITERAL
A CompoundLiteralExpr record.
@ DECL_NON_TYPE_TEMPLATE_PARM
A NonTypeTemplateParmDecl record.
@ PREDEF_TYPE_HALF_ID
The OpenCL 'half' / ARM NEON __fp16 type.
InputFileRecordTypes
Record types that occur within the input-files block inside the control block.
@ REFERENCED_SELECTOR_POOL
Record code for referenced selector pool.
PredefinedDeclIDs
Predefined declaration IDs.
@ INPUT_FILE_OFFSETS
Offsets into the input-files block where input files reside.
@ DECL_BINDING
A BindingDecl record.
@ MODULE_DIRECTORY
Record code for the module build directory.
@ PREDEF_DECL_CF_CONSTANT_STRING_ID
The internal '__NSConstantString' typedef.
@ STMT_OMP_TASKLOOP_SIMD_DIRECTIVE
@ EXPR_CXX_TEMPORARY_OBJECT
A CXXTemporaryObjectExpr record.
SourceLocation getLocation() const
@ STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE
@ PREDEF_TYPE_UCHAR_ID
The 'unsigned char' type.
@ SUBMODULE_UMBRELLA_DIR
Specifies an umbrella directory.
PreprocessorDetailRecordTypes
Record types used within a preprocessor detail block.
@ EXPR_USER_DEFINED_LITERAL
A UserDefinedLiteral record.
static unsigned getHashValue(QualType T)
@ PREDEF_DECL_OBJC_SEL_ID
The Objective-C 'SEL' type.
DeclarationNameKey(NameKind Kind, uint64_t Data)
@ OBJC_CATEGORIES
Record code for the array of Objective-C categories (including extensions).
@ SPECIAL_TYPE_CF_CONSTANT_STRING
CFConstantString type.
@ PREDEF_DECL_INT_128_ID
The signed 128-bit integer type.
uint32_t GlobalMacroID
A global ID number that refers to a macro in an AST file.
@ DECL_CONTEXT_LEXICAL
A record that stores the set of declarations that are lexically stored within a given DeclContext.
UIntTy getRawEncoding() const
When a SourceLocation itself cannot be used, this returns an (opaque) 32-bit integer encoding for it.
@ OPENCL_EXTENSIONS
Record code for enabled OpenCL extensions.
@ PREDEF_TYPE_QUEUE_ID
OpenCL queue type.
unsigned getHash() const
Compute a fingerprint of this key for use in on-disk hash table.
@ EXPR_ARRAY_INIT_LOOP
An ArrayInitLoopExpr record.
@ PREDEF_TYPE_FRACT_ID
The '_Fract' type.
@ EXPR_IMAGINARY_LITERAL
An ImaginaryLiteral record.
@ SUBMODULE_EXCLUDED_HEADER
Specifies a header that has been explicitly excluded from this submodule.
SourceManagerRecordTypes
Record types used within a source manager block.
IdentifierInfo * getIdentifier() const
@ STMT_REF_PTR
A reference to a previously [de]serialized Stmt record.
@ SPECIAL_TYPE_JMP_BUF
C jmp_buf typedef type.
@ EXPR_OBJC_SUBSCRIPT_REF_EXPR
An ObjCSubscriptRefExpr record.