enum ASTRecordTypes
Description
Record types that occur within the AST block itself.
Declared at: clang/include/clang/Serialization/ASTBitCodes.h:430
Enumerators
Name | Value | Comment |
---|---|---|
TYPE_OFFSET | 1 | Record code for the offsets of each type.The TYPE_OFFSET constant describes the record that occurs within the AST block. The record itself is an array of offsets that point into the declarations and types block (identified by DECLTYPES_BLOCK_ID). The index into the array is based on the ID of a type. For a given type ID @c T, the lower three bits of@c T are its qualifiers (const, volatile, restrict), as in the QualType class. The upper bits, after being shifted and subtracting NUM_PREDEF_TYPE_IDS, are used to index into the TYPE_OFFSET block to determine the offset of that type's corresponding record within the DECLTYPES_BLOCK_ID block. |
DECL_OFFSET | 2 | Record code for the offsets of each decl.The DECL_OFFSET constant describes the record that occurs within the block identified by DECL_OFFSETS_BLOCK_ID within the AST block. The record itself is an array of offsets that point into the declarations and types block (identified by DECLTYPES_BLOCK_ID). The declaration ID is an index into this record, after subtracting one to account for the use of declaration ID 0 for a NULL declaration pointer. Index 0 is reserved for the translation unit declaration. |
IDENTIFIER_OFFSET | 3 | Record code for the table of offsets of each identifier ID.The offset table contains offsets into the blob stored in the IDENTIFIER_TABLE record. Each offset points to the NULL-terminated string that corresponds to that identifier. |
METADATA_OLD_FORMAT | 4 | This is so that older clang versions, before the introduction of the control block, can read and reject the newer PCH format. *DON'T CHANGE THIS NUMBER*. |
IDENTIFIER_TABLE | 5 | Record code for the identifier table.The identifier table is a simple blob that contains NULL-terminated strings for all of the identifiers referenced by the AST file. The IDENTIFIER_OFFSET table contains the mapping from identifier IDs to the characters in this blob. Note that the starting offsets of all of the identifiers are odd, so that, when the identifier offset table is loaded in, we can use the low bit to distinguish between offsets (for unresolved identifier IDs) and IdentifierInfo pointers (for already-resolved identifier IDs). |
EAGERLY_DESERIALIZED_DECLS | 6 | Record code for the array of eagerly deserialized decls.The AST file contains a list of all of the declarations that should be eagerly deserialized present within the parsed headers, stored as an array of declaration IDs. These declarations will be reported to the AST consumer after the AST file has been read, since their presence can affect the semantics of the program (e.g., for code generation). |
SPECIAL_TYPES | 7 | Record code for the set of non-builtin, special types.This record contains the type IDs for the various type nodes that are constructed during semantic analysis (e.g., __builtin_va_list). The SPECIAL_TYPE_* constants provide offsets into this record. |
STATISTICS | 8 | Record code for the extra statistics we gather while generating an AST file. |
TENTATIVE_DEFINITIONS | 9 | Record code for the array of tentative definitions. |
SELECTOR_OFFSETS | 11 | Record code for the table of offsets into the Objective-C method pool. |
METHOD_POOL | 12 | Record code for the Objective-C method pool, |
PP_COUNTER_VALUE | 13 | The value of the next __COUNTER__ to dispense. [PP_COUNTER_VALUE, Val] |
SOURCE_LOCATION_OFFSETS | 14 | Record code for the table of offsets into the block of source-location information. |
SOURCE_LOCATION_PRELOADS | 15 | Record code for the set of source location entries that need to be preloaded by the AST reader.This set contains the source location entry for the predefines buffer and for any file entries that need to be preloaded. |
EXT_VECTOR_DECLS | 16 | Record code for the set of ext_vector type names. |
UNUSED_FILESCOPED_DECLS | 17 | Record code for the array of unused file scoped decls. |
PPD_ENTITIES_OFFSETS | 18 | Record code for the table of offsets to entries in the preprocessing record. |
VTABLE_USES | 19 | Record code for the array of VTable uses. |
REFERENCED_SELECTOR_POOL | 21 | Record code for referenced selector pool. |
TU_UPDATE_LEXICAL | 22 | Record code for an update to the TU's lexically contained declarations. |
SEMA_DECL_REFS | 24 | Record code for declarations that Sema keeps references of. |
WEAK_UNDECLARED_IDENTIFIERS | 25 | Record code for weak undeclared identifiers. |
PENDING_IMPLICIT_INSTANTIATIONS | 26 | Record code for pending implicit instantiations. |
UPDATE_VISIBLE | 28 | Record code for an update to a decl context's lookup table.In practice, this should only be used for the TU and namespaces. |
DECL_UPDATE_OFFSETS | 29 | Record for offsets of DECL_UPDATES records for declarations that were modified after being deserialized and need updates. |
CUDA_SPECIAL_DECL_REFS | 33 | Record code for special CUDA declarations. |
HEADER_SEARCH_TABLE | 34 | Record code for header search information. |
FP_PRAGMA_OPTIONS | 35 | Record code for floating point # pragma options. |
OPENCL_EXTENSIONS | 36 | Record code for enabled OpenCL extensions. |
DELEGATING_CTORS | 37 | The list of delegating constructor declarations. |
KNOWN_NAMESPACES | 38 | Record code for the set of known namespaces, which are used for typo correction. |
MODULE_OFFSET_MAP | 39 | Record code for the remapping information used to relate loaded modules to the various offsets and IDs(e.g., source location offests, declaration and type IDs) that are used in that module to refer to other modules. |
SOURCE_MANAGER_LINE_TABLE | 40 | Record code for the source manager line table information, which stores information about # line directives. |
OBJC_CATEGORIES_MAP | 41 | Record code for map of Objective-C class definition IDs to the ObjC categories in a module that are attached to that class. |
FILE_SORTED_DECLS | 42 | Record code for a file sorted array of DeclIDs in a module. |
IMPORTED_MODULES | 43 | Record code for an array of all of the (sub)modules that were imported by the AST file. |
OBJC_CATEGORIES | 46 | Record code for the array of Objective-C categories (including extensions).This array can only be interpreted properly using the Objective-C categories map. |
MACRO_OFFSET | 47 | Record code for the table of offsets of each macro ID.The offset table contains offsets into the blob stored in the preprocessor block. Each offset points to the corresponding macro definition. |
INTERESTING_IDENTIFIERS | 48 | A list of "interesting" identifiers. Only used in C++ (where we don't normally do lookups into the serialized identifier table). These are eagerly deserialized. |
UNDEFINED_BUT_USED | 49 | Record code for undefined but used functions and variables that need a definition in this TU. |
LATE_PARSED_TEMPLATE | 50 | Record code for late parsed template functions. |
OPTIMIZE_PRAGMA_OPTIONS | 51 | Record code for # pragma optimize options. |
UNUSED_LOCAL_TYPEDEF_NAME_CANDIDATES | 52 | Record code for potentially unused local typedef names. |
DELETE_EXPRS_TO_ANALYZE | 54 | Delete expressions that will be analyzed later. |
MSSTRUCT_PRAGMA_OPTIONS | 55 | Record code for # pragma ms_struct options. |
POINTERS_TO_MEMBERS_PRAGMA_OPTIONS | 56 | Record code for # pragma ms_struct options. |
CUDA_PRAGMA_FORCE_HOST_DEVICE_DEPTH | 57 | Number of unmatched #pragma clang cuda_force_host_device begin directives we've seen. |
OPENCL_EXTENSION_TYPES | 58 | Record code for types associated with OpenCL extensions. |
OPENCL_EXTENSION_DECLS | 59 | Record code for declarations associated with OpenCL extensions. |
MODULAR_CODEGEN_DECLS | 60 | Record code for declarations associated with OpenCL extensions. |
ALIGN_PACK_PRAGMA_OPTIONS | 61 | Record code for # pragma align/pack options. |
PP_CONDITIONAL_STACK | 62 | The stack of open #ifs/#ifdefs recorded in a preamble. |
PPD_SKIPPED_RANGES | 63 | A table of skipped ranges within the preprocessing record. |
DECLS_TO_CHECK_FOR_DEFERRED_DIAGS | 64 | Record code for the Decls to be checked for deferred diags. |
FLOAT_CONTROL_PRAGMA_OPTIONS | 65 | Record code for # pragma float_control options. |
PP_INCLUDED_FILES | 66 | Record code for included files. |
PP_ASSUME_NONNULL_LOC | 67 | Record code for an unterminated # pragma clang assume_nonnull begin recorded in a preamble. |