clang 8.0.0

Classes | Enumerations | Variables
AST file AST constants

The constants in this group describe various components of the abstract syntax tree within an AST file. More...

## Classes
struct | clang::serialization::LocalRedeclarationsInfo
| Describes the redeclarations of a declaration. More...
struct | clang::serialization::ObjCCategoriesInfo
| Describes the categories of an Objective-C class. More...
class | clang::serialization::DeclarationNameKey
| A key used when looking up entities by DeclarationName. More...

## Enumerations
enum | clang::serialization::PredefinedTypeIDs { clang::serialization::PREDEF_TYPE_NULL_ID = 0, clang::serialization::PREDEF_TYPE_VOID_ID = 1, clang::serialization::PREDEF_TYPE_BOOL_ID = 2, clang::serialization::PREDEF_TYPE_CHAR_U_ID = 3, clang::serialization::PREDEF_TYPE_UCHAR_ID = 4, clang::serialization::PREDEF_TYPE_USHORT_ID = 5, clang::serialization::PREDEF_TYPE_UINT_ID = 6, clang::serialization::PREDEF_TYPE_ULONG_ID = 7, clang::serialization::PREDEF_TYPE_ULONGLONG_ID = 8, clang::serialization::PREDEF_TYPE_CHAR_S_ID = 9, clang::serialization::PREDEF_TYPE_SCHAR_ID = 10, clang::serialization::PREDEF_TYPE_WCHAR_ID = 11, clang::serialization::PREDEF_TYPE_SHORT_ID = 12, clang::serialization::PREDEF_TYPE_INT_ID = 13, clang::serialization::PREDEF_TYPE_LONG_ID = 14, clang::serialization::PREDEF_TYPE_LONGLONG_ID = 15, clang::serialization::PREDEF_TYPE_FLOAT_ID = 16, clang::serialization::PREDEF_TYPE_DOUBLE_ID = 17, clang::serialization::PREDEF_TYPE_LONGDOUBLE_ID = 18, clang::serialization::PREDEF_TYPE_OVERLOAD_ID = 19, clang::serialization::PREDEF_TYPE_DEPENDENT_ID = 20, clang::serialization::PREDEF_TYPE_UINT128_ID = 21, clang::serialization::PREDEF_TYPE_INT128_ID = 22, clang::serialization::PREDEF_TYPE_NULLPTR_ID = 23, clang::serialization::PREDEF_TYPE_CHAR16_ID = 24, clang::serialization::PREDEF_TYPE_CHAR32_ID = 25, clang::serialization::PREDEF_TYPE_OBJC_ID = 26, clang::serialization::PREDEF_TYPE_OBJC_CLASS = 27, clang::serialization::PREDEF_TYPE_OBJC_SEL = 28, clang::serialization::PREDEF_TYPE_UNKNOWN_ANY = 29, clang::serialization::PREDEF_TYPE_BOUND_MEMBER = 30, clang::serialization::PREDEF_TYPE_AUTO_DEDUCT = 31, clang::serialization::PREDEF_TYPE_AUTO_RREF_DEDUCT = 32, clang::serialization::PREDEF_TYPE_HALF_ID = 33, clang::serialization::PREDEF_TYPE_ARC_UNBRIDGED_CAST = 34, clang::serialization::PREDEF_TYPE_PSEUDO_OBJECT = 35, clang::serialization::PREDEF_TYPE_BUILTIN_FN = 36, clang::serialization::PREDEF_TYPE_EVENT_ID = 37, clang::serialization::PREDEF_TYPE_CLK_EVENT_ID = 38, clang::serialization::PREDEF_TYPE_SAMPLER_ID = 39, clang::serialization::PREDEF_TYPE_QUEUE_ID = 40, clang::serialization::PREDEF_TYPE_RESERVE_ID_ID = 41, clang::serialization::PREDEF_TYPE_OMP_ARRAY_SECTION = 42, clang::serialization::PREDEF_TYPE_FLOAT128_ID = 43, clang::serialization::PREDEF_TYPE_FLOAT16_ID = 44, clang::serialization::PREDEF_TYPE_CHAR8_ID = 45, clang::serialization::PREDEF_TYPE_SHORT_ACCUM_ID = 46, clang::serialization::PREDEF_TYPE_ACCUM_ID = 47, clang::serialization::PREDEF_TYPE_LONG_ACCUM_ID = 48, clang::serialization::PREDEF_TYPE_USHORT_ACCUM_ID = 49, clang::serialization::PREDEF_TYPE_UACCUM_ID = 50, clang::serialization::PREDEF_TYPE_ULONG_ACCUM_ID = 51, clang::serialization::PREDEF_TYPE_SHORT_FRACT_ID = 52, clang::serialization::PREDEF_TYPE_FRACT_ID = 53, clang::serialization::PREDEF_TYPE_LONG_FRACT_ID = 54, clang::serialization::PREDEF_TYPE_USHORT_FRACT_ID = 55, clang::serialization::PREDEF_TYPE_UFRACT_ID = 56, clang::serialization::PREDEF_TYPE_ULONG_FRACT_ID = 57, clang::serialization::PREDEF_TYPE_SAT_SHORT_ACCUM_ID = 58, clang::serialization::PREDEF_TYPE_SAT_ACCUM_ID = 59, clang::serialization::PREDEF_TYPE_SAT_LONG_ACCUM_ID = 60, clang::serialization::PREDEF_TYPE_SAT_USHORT_ACCUM_ID = 61, clang::serialization::PREDEF_TYPE_SAT_UACCUM_ID = 62, clang::serialization::PREDEF_TYPE_SAT_ULONG_ACCUM_ID = 63, clang::serialization::PREDEF_TYPE_SAT_SHORT_FRACT_ID = 64, clang::serialization::PREDEF_TYPE_SAT_FRACT_ID = 65, clang::serialization::PREDEF_TYPE_SAT_LONG_FRACT_ID = 66, clang::serialization::PREDEF_TYPE_SAT_USHORT_FRACT_ID = 67, clang::serialization::PREDEF_TYPE_SAT_UFRACT_ID = 68, clang::serialization::PREDEF_TYPE_SAT_ULONG_FRACT_ID = 69 }
| Predefined type IDs. More...
enum | clang::serialization::TypeCode { clang::serialization::TYPE_EXT_QUAL = 1, clang::serialization::TYPE_COMPLEX = 3, clang::serialization::TYPE_POINTER = 4, clang::serialization::TYPE_BLOCK_POINTER = 5, clang::serialization::TYPE_LVALUE_REFERENCE = 6, clang::serialization::TYPE_RVALUE_REFERENCE = 7, clang::serialization::TYPE_MEMBER_POINTER = 8, clang::serialization::TYPE_CONSTANT_ARRAY = 9, clang::serialization::TYPE_INCOMPLETE_ARRAY = 10, clang::serialization::TYPE_VARIABLE_ARRAY = 11, clang::serialization::TYPE_VECTOR = 12, clang::serialization::TYPE_EXT_VECTOR = 13, clang::serialization::TYPE_FUNCTION_NO_PROTO = 14, clang::serialization::TYPE_FUNCTION_PROTO = 15, clang::serialization::TYPE_TYPEDEF = 16, clang::serialization::TYPE_TYPEOF_EXPR = 17, clang::serialization::TYPE_TYPEOF = 18, clang::serialization::TYPE_RECORD = 19, clang::serialization::TYPE_ENUM = 20, clang::serialization::TYPE_OBJC_INTERFACE = 21, clang::serialization::TYPE_OBJC_OBJECT_POINTER = 22, clang::serialization::TYPE_DECLTYPE = 23, clang::serialization::TYPE_ELABORATED = 24, clang::serialization::TYPE_SUBST_TEMPLATE_TYPE_PARM = 25, clang::serialization::TYPE_UNRESOLVED_USING = 26, clang::serialization::TYPE_INJECTED_CLASS_NAME = 27, clang::serialization::TYPE_OBJC_OBJECT = 28, clang::serialization::TYPE_TEMPLATE_TYPE_PARM = 29, clang::serialization::TYPE_TEMPLATE_SPECIALIZATION = 30, clang::serialization::TYPE_DEPENDENT_NAME = 31, clang::serialization::TYPE_DEPENDENT_TEMPLATE_SPECIALIZATION = 32, clang::serialization::TYPE_DEPENDENT_SIZED_ARRAY = 33, clang::serialization::TYPE_PAREN = 34, clang::serialization::TYPE_PACK_EXPANSION = 35, clang::serialization::TYPE_ATTRIBUTED = 36, clang::serialization::TYPE_SUBST_TEMPLATE_TYPE_PARM_PACK = 37, clang::serialization::TYPE_AUTO = 38, clang::serialization::TYPE_UNARY_TRANSFORM = 39, clang::serialization::TYPE_ATOMIC = 40, clang::serialization::TYPE_DECAYED = 41, clang::serialization::TYPE_ADJUSTED = 42, clang::serialization::TYPE_PIPE = 43, clang::serialization::TYPE_OBJC_TYPE_PARAM = 44, clang::serialization::TYPE_DEDUCED_TEMPLATE_SPECIALIZATION = 45, clang::serialization::TYPE_DEPENDENT_SIZED_EXT_VECTOR = 46, clang::serialization::TYPE_DEPENDENT_ADDRESS_SPACE = 47, clang::serialization::TYPE_DEPENDENT_SIZED_VECTOR = 48 }
| Record codes for each kind of type. More...
enum | clang::serialization::SpecialTypeIDs { clang::serialization::SPECIAL_TYPE_CF_CONSTANT_STRING = 0, clang::serialization::SPECIAL_TYPE_FILE = 1, clang::serialization::SPECIAL_TYPE_JMP_BUF = 2, clang::serialization::SPECIAL_TYPE_SIGJMP_BUF = 3, clang::serialization::SPECIAL_TYPE_OBJC_ID_REDEFINITION = 4, clang::serialization::SPECIAL_TYPE_OBJC_CLASS_REDEFINITION = 5, clang::serialization::SPECIAL_TYPE_OBJC_SEL_REDEFINITION = 6, clang::serialization::SPECIAL_TYPE_UCONTEXT_T = 7 }
| The type IDs for special types constructed by semantic analysis. More...
enum | clang::serialization::PredefinedDeclIDs { clang::serialization::PREDEF_DECL_NULL_ID = 0, clang::serialization::PREDEF_DECL_TRANSLATION_UNIT_ID = 1, clang::serialization::PREDEF_DECL_OBJC_ID_ID = 2, clang::serialization::PREDEF_DECL_OBJC_SEL_ID = 3, clang::serialization::PREDEF_DECL_OBJC_CLASS_ID = 4, clang::serialization::PREDEF_DECL_OBJC_PROTOCOL_ID = 5, clang::serialization::PREDEF_DECL_INT_128_ID = 6, clang::serialization::PREDEF_DECL_UNSIGNED_INT_128_ID = 7, clang::serialization::PREDEF_DECL_OBJC_INSTANCETYPE_ID = 8, clang::serialization::PREDEF_DECL_BUILTIN_VA_LIST_ID = 9, clang::serialization::PREDEF_DECL_VA_LIST_TAG = 10, clang::serialization::PREDEF_DECL_BUILTIN_MS_VA_LIST_ID = 11, clang::serialization::PREDEF_DECL_EXTERN_C_CONTEXT_ID = 12, clang::serialization::PREDEF_DECL_MAKE_INTEGER_SEQ_ID = 13, clang::serialization::PREDEF_DECL_CF_CONSTANT_STRING_ID = 14, clang::serialization::PREDEF_DECL_CF_CONSTANT_STRING_TAG_ID = 15, clang::serialization::PREDEF_DECL_TYPE_PACK_ELEMENT_ID = 16 }
| Predefined declaration IDs. More...
enum | clang::serialization::DeclCode { clang::serialization::DECL_TYPEDEF = 51, clang::serialization::DECL_TYPEALIAS, clang::serialization::DECL_ENUM, clang::serialization::DECL_RECORD, clang::serialization::DECL_ENUM_CONSTANT, clang::serialization::DECL_FUNCTION, clang::serialization::DECL_OBJC_METHOD, clang::serialization::DECL_OBJC_INTERFACE, clang::serialization::DECL_OBJC_PROTOCOL, clang::serialization::DECL_OBJC_IVAR, clang::serialization::DECL_OBJC_AT_DEFS_FIELD, clang::serialization::DECL_OBJC_CATEGORY, clang::serialization::DECL_OBJC_CATEGORY_IMPL, clang::serialization::DECL_OBJC_IMPLEMENTATION, clang::serialization::DECL_OBJC_COMPATIBLE_ALIAS, clang::serialization::DECL_OBJC_PROPERTY, clang::serialization::DECL_OBJC_PROPERTY_IMPL, clang::serialization::DECL_FIELD, clang::serialization::DECL_MS_PROPERTY, clang::serialization::DECL_VAR, clang::serialization::DECL_IMPLICIT_PARAM, clang::serialization::DECL_PARM_VAR, clang::serialization::DECL_DECOMPOSITION, clang::serialization::DECL_BINDING, clang::serialization::DECL_FILE_SCOPE_ASM, clang::serialization::DECL_BLOCK, clang::serialization::DECL_CAPTURED, clang::serialization::DECL_CONTEXT_LEXICAL, clang::serialization::DECL_CONTEXT_VISIBLE, clang::serialization::DECL_LABEL, clang::serialization::DECL_NAMESPACE, clang::serialization::DECL_NAMESPACE_ALIAS, clang::serialization::DECL_USING, clang::serialization::DECL_USING_PACK, clang::serialization::DECL_USING_SHADOW, clang::serialization::DECL_CONSTRUCTOR_USING_SHADOW, clang::serialization::DECL_USING_DIRECTIVE, clang::serialization::DECL_UNRESOLVED_USING_VALUE, clang::serialization::DECL_UNRESOLVED_USING_TYPENAME, clang::serialization::DECL_LINKAGE_SPEC, clang::serialization::DECL_EXPORT, clang::serialization::DECL_CXX_RECORD, clang::serialization::DECL_CXX_DEDUCTION_GUIDE, clang::serialization::DECL_CXX_METHOD, clang::serialization::DECL_CXX_CONSTRUCTOR, clang::serialization::DECL_CXX_INHERITED_CONSTRUCTOR, clang::serialization::DECL_CXX_DESTRUCTOR, clang::serialization::DECL_CXX_CONVERSION, clang::serialization::DECL_ACCESS_SPEC, clang::serialization::DECL_FRIEND, clang::serialization::DECL_FRIEND_TEMPLATE, clang::serialization::DECL_CLASS_TEMPLATE, clang::serialization::DECL_CLASS_TEMPLATE_SPECIALIZATION, clang::serialization::DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION, clang::serialization::DECL_VAR_TEMPLATE, clang::serialization::DECL_VAR_TEMPLATE_SPECIALIZATION, clang::serialization::DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION, clang::serialization::DECL_FUNCTION_TEMPLATE, clang::serialization::DECL_TEMPLATE_TYPE_PARM, clang::serialization::DECL_NON_TYPE_TEMPLATE_PARM, clang::serialization::DECL_TEMPLATE_TEMPLATE_PARM, clang::serialization::DECL_TYPE_ALIAS_TEMPLATE, clang::serialization::DECL_STATIC_ASSERT, clang::serialization::DECL_CXX_BASE_SPECIFIERS, clang::serialization::DECL_CXX_CTOR_INITIALIZERS, clang::serialization::DECL_INDIRECTFIELD, clang::serialization::DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK, clang::serialization::DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK, clang::serialization::DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION, clang::serialization::DECL_IMPORT, clang::serialization::DECL_OMP_THREADPRIVATE, clang::serialization::DECL_OMP_REQUIRES, clang::serialization::DECL_EMPTY, clang::serialization::DECL_OBJC_TYPE_PARAM, clang::serialization::DECL_OMP_CAPTUREDEXPR, clang::serialization::DECL_PRAGMA_COMMENT, clang::serialization::DECL_PRAGMA_DETECT_MISMATCH, clang::serialization::DECL_OMP_DECLARE_REDUCTION, clang::serialization::DECL_LAST = DECL_OMP_DECLARE_REDUCTION }
| Record codes for each kind of declaration. More...
enum | clang::serialization::StmtCode { clang::serialization::STMT_STOP = DECL_LAST + 1, clang::serialization::STMT_NULL_PTR, clang::serialization::STMT_REF_PTR, clang::serialization::STMT_NULL, clang::serialization::STMT_COMPOUND, clang::serialization::STMT_CASE, clang::serialization::STMT_DEFAULT, clang::serialization::STMT_LABEL, clang::serialization::STMT_ATTRIBUTED, clang::serialization::STMT_IF, clang::serialization::STMT_SWITCH, clang::serialization::STMT_WHILE, clang::serialization::STMT_DO, clang::serialization::STMT_FOR, clang::serialization::STMT_GOTO, clang::serialization::STMT_INDIRECT_GOTO, clang::serialization::STMT_CONTINUE, clang::serialization::STMT_BREAK, clang::serialization::STMT_RETURN, clang::serialization::STMT_DECL, clang::serialization::STMT_CAPTURED, clang::serialization::STMT_GCCASM, clang::serialization::STMT_MSASM, clang::serialization::EXPR_CONSTANT, clang::serialization::EXPR_PREDEFINED, clang::serialization::EXPR_DECL_REF, clang::serialization::EXPR_INTEGER_LITERAL, clang::serialization::EXPR_FLOATING_LITERAL, clang::serialization::EXPR_IMAGINARY_LITERAL, clang::serialization::EXPR_STRING_LITERAL, clang::serialization::EXPR_CHARACTER_LITERAL, clang::serialization::EXPR_PAREN, clang::serialization::EXPR_PAREN_LIST, clang::serialization::EXPR_UNARY_OPERATOR, clang::serialization::EXPR_OFFSETOF, clang::serialization::EXPR_SIZEOF_ALIGN_OF, clang::serialization::EXPR_ARRAY_SUBSCRIPT, clang::serialization::EXPR_CALL, clang::serialization::EXPR_MEMBER, clang::serialization::EXPR_BINARY_OPERATOR, clang::serialization::EXPR_COMPOUND_ASSIGN_OPERATOR, clang::serialization::EXPR_CONDITIONAL_OPERATOR, clang::serialization::EXPR_IMPLICIT_CAST, clang::serialization::EXPR_CSTYLE_CAST, clang::serialization::EXPR_COMPOUND_LITERAL, clang::serialization::EXPR_EXT_VECTOR_ELEMENT, clang::serialization::EXPR_INIT_LIST, clang::serialization::EXPR_DESIGNATED_INIT, clang::serialization::EXPR_DESIGNATED_INIT_UPDATE, clang::serialization::EXPR_NO_INIT, clang::serialization::EXPR_ARRAY_INIT_LOOP, clang::serialization::EXPR_ARRAY_INIT_INDEX, clang::serialization::EXPR_IMPLICIT_VALUE_INIT, clang::serialization::EXPR_VA_ARG, clang::serialization::EXPR_ADDR_LABEL, clang::serialization::EXPR_STMT, clang::serialization::EXPR_CHOOSE, clang::serialization::EXPR_GNU_NULL, clang::serialization::EXPR_SHUFFLE_VECTOR, clang::serialization::EXPR_CONVERT_VECTOR, clang::serialization::EXPR_BLOCK, clang::serialization::EXPR_GENERIC_SELECTION, clang::serialization::EXPR_PSEUDO_OBJECT, clang::serialization::EXPR_ATOMIC, clang::serialization::EXPR_OBJC_STRING_LITERAL, clang::serialization::EXPR_OBJC_BOXED_EXPRESSION, clang::serialization::EXPR_OBJC_ARRAY_LITERAL, clang::serialization::EXPR_OBJC_DICTIONARY_LITERAL, clang::serialization::EXPR_OBJC_ENCODE, clang::serialization::EXPR_OBJC_SELECTOR_EXPR, clang::serialization::EXPR_OBJC_PROTOCOL_EXPR, clang::serialization::EXPR_OBJC_IVAR_REF_EXPR, clang::serialization::EXPR_OBJC_PROPERTY_REF_EXPR, clang::serialization::EXPR_OBJC_SUBSCRIPT_REF_EXPR, clang::serialization::EXPR_OBJC_KVC_REF_EXPR, clang::serialization::EXPR_OBJC_MESSAGE_EXPR, clang::serialization::EXPR_OBJC_ISA, clang::serialization::EXPR_OBJC_INDIRECT_COPY_RESTORE, clang::serialization::STMT_OBJC_FOR_COLLECTION, clang::serialization::STMT_OBJC_CATCH, clang::serialization::STMT_OBJC_FINALLY, clang::serialization::STMT_OBJC_AT_TRY, clang::serialization::STMT_OBJC_AT_SYNCHRONIZED, clang::serialization::STMT_OBJC_AT_THROW, clang::serialization::STMT_OBJC_AUTORELEASE_POOL, clang::serialization::EXPR_OBJC_BOOL_LITERAL, clang::serialization::EXPR_OBJC_AVAILABILITY_CHECK, clang::serialization::STMT_CXX_CATCH, clang::serialization::STMT_CXX_TRY, clang::serialization::STMT_CXX_FOR_RANGE, clang::serialization::EXPR_CXX_OPERATOR_CALL, clang::serialization::EXPR_CXX_MEMBER_CALL, clang::serialization::EXPR_CXX_CONSTRUCT, clang::serialization::EXPR_CXX_INHERITED_CTOR_INIT, clang::serialization::EXPR_CXX_TEMPORARY_OBJECT, clang::serialization::EXPR_CXX_STATIC_CAST, clang::serialization::EXPR_CXX_DYNAMIC_CAST, clang::serialization::EXPR_CXX_REINTERPRET_CAST, clang::serialization::EXPR_CXX_CONST_CAST, clang::serialization::EXPR_CXX_FUNCTIONAL_CAST, clang::serialization::EXPR_USER_DEFINED_LITERAL, clang::serialization::EXPR_CXX_STD_INITIALIZER_LIST, clang::serialization::EXPR_CXX_BOOL_LITERAL, clang::serialization::EXPR_CXX_NULL_PTR_LITERAL, clang::serialization::EXPR_CXX_TYPEID_EXPR, clang::serialization::EXPR_CXX_TYPEID_TYPE, clang::serialization::EXPR_CXX_THIS, clang::serialization::EXPR_CXX_THROW, clang::serialization::EXPR_CXX_DEFAULT_ARG, clang::serialization::EXPR_CXX_DEFAULT_INIT, clang::serialization::EXPR_CXX_BIND_TEMPORARY, clang::serialization::EXPR_CXX_SCALAR_VALUE_INIT, clang::serialization::EXPR_CXX_NEW, clang::serialization::EXPR_CXX_DELETE, clang::serialization::EXPR_CXX_PSEUDO_DESTRUCTOR, clang::serialization::EXPR_EXPR_WITH_CLEANUPS, clang::serialization::EXPR_CXX_DEPENDENT_SCOPE_MEMBER, clang::serialization::EXPR_CXX_DEPENDENT_SCOPE_DECL_REF, clang::serialization::EXPR_CXX_UNRESOLVED_CONSTRUCT, clang::serialization::EXPR_CXX_UNRESOLVED_MEMBER, clang::serialization::EXPR_CXX_UNRESOLVED_LOOKUP, clang::serialization::EXPR_CXX_EXPRESSION_TRAIT, clang::serialization::EXPR_CXX_NOEXCEPT, clang::serialization::EXPR_OPAQUE_VALUE, clang::serialization::EXPR_BINARY_CONDITIONAL_OPERATOR, clang::serialization::EXPR_TYPE_TRAIT, clang::serialization::EXPR_ARRAY_TYPE_TRAIT, clang::serialization::EXPR_PACK_EXPANSION, clang::serialization::EXPR_SIZEOF_PACK, clang::serialization::EXPR_SUBST_NON_TYPE_TEMPLATE_PARM, clang::serialization::EXPR_SUBST_NON_TYPE_TEMPLATE_PARM_PACK, clang::serialization::EXPR_FUNCTION_PARM_PACK, clang::serialization::EXPR_MATERIALIZE_TEMPORARY, clang::serialization::EXPR_CXX_FOLD, clang::serialization::EXPR_CUDA_KERNEL_CALL, clang::serialization::EXPR_ASTYPE, clang::serialization::EXPR_CXX_PROPERTY_REF_EXPR, clang::serialization::EXPR_CXX_PROPERTY_SUBSCRIPT_EXPR, clang::serialization::EXPR_CXX_UUIDOF_EXPR, clang::serialization::EXPR_CXX_UUIDOF_TYPE, clang::serialization::STMT_SEH_LEAVE, clang::serialization::STMT_SEH_EXCEPT, clang::serialization::STMT_SEH_FINALLY, clang::serialization::STMT_SEH_TRY, clang::serialization::STMT_OMP_PARALLEL_DIRECTIVE, clang::serialization::STMT_OMP_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_FOR_DIRECTIVE, clang::serialization::STMT_OMP_FOR_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_SECTIONS_DIRECTIVE, clang::serialization::STMT_OMP_SECTION_DIRECTIVE, clang::serialization::STMT_OMP_SINGLE_DIRECTIVE, clang::serialization::STMT_OMP_MASTER_DIRECTIVE, clang::serialization::STMT_OMP_CRITICAL_DIRECTIVE, clang::serialization::STMT_OMP_PARALLEL_FOR_DIRECTIVE, clang::serialization::STMT_OMP_PARALLEL_FOR_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE, clang::serialization::STMT_OMP_TASK_DIRECTIVE, clang::serialization::STMT_OMP_TASKYIELD_DIRECTIVE, clang::serialization::STMT_OMP_BARRIER_DIRECTIVE, clang::serialization::STMT_OMP_TASKWAIT_DIRECTIVE, clang::serialization::STMT_OMP_FLUSH_DIRECTIVE, clang::serialization::STMT_OMP_ORDERED_DIRECTIVE, clang::serialization::STMT_OMP_ATOMIC_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_DATA_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_ENTER_DATA_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_EXIT_DATA_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_PARALLEL_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_PARALLEL_FOR_DIRECTIVE, clang::serialization::STMT_OMP_TEAMS_DIRECTIVE, clang::serialization::STMT_OMP_TASKGROUP_DIRECTIVE, clang::serialization::STMT_OMP_CANCELLATION_POINT_DIRECTIVE, clang::serialization::STMT_OMP_CANCEL_DIRECTIVE, clang::serialization::STMT_OMP_TASKLOOP_DIRECTIVE, clang::serialization::STMT_OMP_TASKLOOP_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_DISTRIBUTE_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_UPDATE_DIRECTIVE, clang::serialization::STMT_OMP_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE, clang::serialization::STMT_OMP_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_DISTRIBUTE_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_PARALLEL_FOR_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_DIRECTIVE, clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_TEAMS_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE, clang::serialization::STMT_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE, clang::serialization::EXPR_OMP_ARRAY_SECTION, clang::serialization::EXPR_OBJC_BRIDGED_CAST, clang::serialization::STMT_MS_DEPENDENT_EXISTS, clang::serialization::EXPR_LAMBDA, clang::serialization::STMT_COROUTINE_BODY, clang::serialization::STMT_CORETURN, clang::serialization::EXPR_COAWAIT, clang::serialization::EXPR_COYIELD, clang::serialization::EXPR_DEPENDENT_COAWAIT }
| Record codes for each kind of statement or expression. More...
enum | clang::serialization::DesignatorTypes { clang::serialization::DESIG_FIELD_NAME = 0, clang::serialization::DESIG_FIELD_DECL = 1, clang::serialization::DESIG_ARRAY = 2, clang::serialization::DESIG_ARRAY_RANGE = 3 }
| The kinds of designators that can occur in a DesignatedInitExpr. More...
enum | clang::serialization::CtorInitializerType { clang::serialization::CTOR_INITIALIZER_BASE, clang::serialization::CTOR_INITIALIZER_DELEGATING, clang::serialization::CTOR_INITIALIZER_MEMBER, clang::serialization::CTOR_INITIALIZER_INDIRECT_MEMBER }
| The different kinds of data that can occur in a CtorInitializer. More...

## Variables
const unsigned | clang::serialization::NUM_PREDEF_TYPE_IDS = 200
| The number of predefined type IDs that are reserved for the PREDEF_TYPE_* constants. More...
const unsigned | clang::serialization::NumSpecialTypeIDs = 8
| The number of special type IDs. More...
const unsigned int | clang::serialization::NUM_PREDEF_DECL_IDS = 17
| The number of declaration IDs that are predefined. More...
const unsigned int | clang::serialization::DECL_UPDATES = 49
| Record of updates for a declaration that was modified after being deserialized. More...
const unsigned int | clang::serialization::LOCAL_REDECLARATIONS = 50
| Record code for a list of local redeclarations of a declaration. More...

## Detailed Description

The constants in this group describe various components of the abstract syntax tree within an AST file.

## Enumeration Type Documentation

## ◆ CtorInitializerType

enum clang::serialization::CtorInitializerType

The different kinds of data that can occur in a CtorInitializer.

Enumerator
CTOR_INITIALIZER_BASE |
CTOR_INITIALIZER_DELEGATING |
CTOR_INITIALIZER_MEMBER |
CTOR_INITIALIZER_INDIRECT_MEMBER |

Definition at line 1999 of file ASTBitCodes.h.

## ◆ DeclCode

enum clang::serialization::DeclCode

Record codes for each kind of declaration.

These constants describe the declaration records that can occur within a declarations block (identified by DECLTYPES_BLOCK_ID). Each constant describes a record for a specific declaration class in the AST. Note that TypeCode values share this code space.

Enumerator
DECL_TYPEDEF | A TypedefDecl record.
DECL_TYPEALIAS | A TypeAliasDecl record.
DECL_ENUM | An EnumDecl record.
DECL_RECORD | A RecordDecl record.
DECL_ENUM_CONSTANT | An EnumConstantDecl record.
DECL_FUNCTION | A FunctionDecl record.
DECL_OBJC_METHOD | A ObjCMethodDecl record.
DECL_OBJC_INTERFACE | A ObjCInterfaceDecl record.
DECL_OBJC_PROTOCOL | A ObjCProtocolDecl record.
DECL_OBJC_IVAR | A ObjCIvarDecl record.
DECL_OBJC_AT_DEFS_FIELD | A ObjCAtDefsFieldDecl record.
DECL_OBJC_CATEGORY | A ObjCCategoryDecl record.
DECL_OBJC_CATEGORY_IMPL | A ObjCCategoryImplDecl record.
DECL_OBJC_IMPLEMENTATION | A ObjCImplementationDecl record.
DECL_OBJC_COMPATIBLE_ALIAS | A ObjCCompatibleAliasDecl record.
DECL_OBJC_PROPERTY | A ObjCPropertyDecl record.
DECL_OBJC_PROPERTY_IMPL | A ObjCPropertyImplDecl record.
DECL_FIELD | A FieldDecl record.
DECL_MS_PROPERTY | A MSPropertyDecl record.
DECL_VAR | A VarDecl record.
DECL_IMPLICIT_PARAM | An ImplicitParamDecl record.
DECL_PARM_VAR | A ParmVarDecl record.
DECL_DECOMPOSITION | A DecompositionDecl record.
DECL_BINDING | A BindingDecl record.
DECL_FILE_SCOPE_ASM | A FileScopeAsmDecl record.
DECL_BLOCK | A BlockDecl record.
DECL_CAPTURED | A CapturedDecl record.
DECL_CONTEXT_LEXICAL | A record that stores the set of declarations that are lexically stored within a given DeclContext. The record itself is a blob that is an array of declaration IDs, in the order in which those declarations were added to the declaration context. This data is used when iterating over the contents of a DeclContext, e.g., via DeclContext::decls_begin() and DeclContext::decls_end().
DECL_CONTEXT_VISIBLE | A record that stores the set of declarations that are visible from a given DeclContext. The record itself stores a set of mappings, each of which associates a declaration name with one or more declaration IDs. This data is used when performing qualified name lookup into a DeclContext via DeclContext::lookup.
DECL_LABEL | A LabelDecl record.
DECL_NAMESPACE | A NamespaceDecl record.
DECL_NAMESPACE_ALIAS | A NamespaceAliasDecl record.
DECL_USING | A UsingDecl record.
DECL_USING_PACK | A UsingPackDecl record.
DECL_USING_SHADOW | A UsingShadowDecl record.
DECL_CONSTRUCTOR_USING_SHADOW | A ConstructorUsingShadowDecl record.
DECL_USING_DIRECTIVE | A UsingDirecitveDecl record.
DECL_UNRESOLVED_USING_VALUE | An UnresolvedUsingValueDecl record.
DECL_UNRESOLVED_USING_TYPENAME | An UnresolvedUsingTypenameDecl record.
DECL_LINKAGE_SPEC | A LinkageSpecDecl record.
DECL_EXPORT | An ExportDecl record.
DECL_CXX_RECORD | A CXXRecordDecl record.
DECL_CXX_DEDUCTION_GUIDE | A CXXDeductionGuideDecl record.
DECL_CXX_METHOD | A CXXMethodDecl record.
DECL_CXX_CONSTRUCTOR | A CXXConstructorDecl record.
DECL_CXX_INHERITED_CONSTRUCTOR | A CXXConstructorDecl record for an inherited constructor.
DECL_CXX_DESTRUCTOR | A CXXDestructorDecl record.
DECL_CXX_CONVERSION | A CXXConversionDecl record.
DECL_ACCESS_SPEC | An AccessSpecDecl record.
DECL_FRIEND | A FriendDecl record.
DECL_FRIEND_TEMPLATE | A FriendTemplateDecl record.
DECL_CLASS_TEMPLATE | A ClassTemplateDecl record.
DECL_CLASS_TEMPLATE_SPECIALIZATION | A ClassTemplateSpecializationDecl record.
DECL_CLASS_TEMPLATE_PARTIAL_SPECIALIZATION | A ClassTemplatePartialSpecializationDecl record.
DECL_VAR_TEMPLATE | A VarTemplateDecl record.
DECL_VAR_TEMPLATE_SPECIALIZATION | A VarTemplateSpecializationDecl record.
DECL_VAR_TEMPLATE_PARTIAL_SPECIALIZATION | A VarTemplatePartialSpecializationDecl record.
DECL_FUNCTION_TEMPLATE | A FunctionTemplateDecl record.
DECL_TEMPLATE_TYPE_PARM | A TemplateTypeParmDecl record.
DECL_NON_TYPE_TEMPLATE_PARM | A NonTypeTemplateParmDecl record.
DECL_TEMPLATE_TEMPLATE_PARM | A TemplateTemplateParmDecl record.
DECL_TYPE_ALIAS_TEMPLATE | A TypeAliasTemplateDecl record.
DECL_STATIC_ASSERT | A StaticAssertDecl record.
DECL_CXX_BASE_SPECIFIERS | A record containing CXXBaseSpecifiers.
DECL_CXX_CTOR_INITIALIZERS | A record containing CXXCtorInitializers.
DECL_INDIRECTFIELD | A IndirectFieldDecl record.
DECL_EXPANDED_NON_TYPE_TEMPLATE_PARM_PACK | A NonTypeTemplateParmDecl record that stores an expanded non-type template parameter pack.
DECL_EXPANDED_TEMPLATE_TEMPLATE_PARM_PACK | A TemplateTemplateParmDecl record that stores an expanded template template parameter pack.
DECL_CLASS_SCOPE_FUNCTION_SPECIALIZATION | A ClassScopeFunctionSpecializationDecl record a class scope function specialization. (Microsoft extension).
DECL_IMPORT | An ImportDecl recording a module import.
DECL_OMP_THREADPRIVATE | An OMPThreadPrivateDecl record.
DECL_OMP_REQUIRES | An OMPRequiresDecl record.
DECL_EMPTY | An EmptyDecl record.
DECL_OBJC_TYPE_PARAM | An ObjCTypeParamDecl record.
DECL_OMP_CAPTUREDEXPR | An OMPCapturedExprDecl record.
DECL_PRAGMA_COMMENT | A PragmaCommentDecl record.
DECL_PRAGMA_DETECT_MISMATCH | A PragmaDetectMismatchDecl record.
DECL_OMP_DECLARE_REDUCTION | An OMPDeclareReductionDecl record.
DECL_LAST |

Definition at line 1293 of file ASTBitCodes.h.

## ◆ DesignatorTypes

enum clang::serialization::DesignatorTypes

The kinds of designators that can occur in a DesignatedInitExpr.

Enumerator
DESIG_FIELD_NAME | Field designator where only the field name is known.
DESIG_FIELD_DECL | Field designator where the field has been resolved to a declaration.
DESIG_ARRAY | Array designator.
DESIG_ARRAY_RANGE | GNU array range designator.

Definition at line 1982 of file ASTBitCodes.h.

## ◆ PredefinedDeclIDs

enum clang::serialization::PredefinedDeclIDs

Predefined declaration IDs.

These declaration IDs correspond to predefined declarations in the AST context, such as the NULL declaration ID. Such declarations are never actually serialized, since they will be built by the AST context when it is created.

Enumerator
PREDEF_DECL_NULL_ID | The NULL declaration.
PREDEF_DECL_TRANSLATION_UNIT_ID | The translation unit.
PREDEF_DECL_OBJC_ID_ID | The Objective-C 'id' type.
PREDEF_DECL_OBJC_SEL_ID | The Objective-C 'SEL' type.
PREDEF_DECL_OBJC_CLASS_ID | The Objective-C 'Class' type.
PREDEF_DECL_OBJC_PROTOCOL_ID | The Objective-C 'Protocol' type.
PREDEF_DECL_INT_128_ID | The signed 128-bit integer type.
PREDEF_DECL_UNSIGNED_INT_128_ID | The unsigned 128-bit integer type.
PREDEF_DECL_OBJC_INSTANCETYPE_ID | The internal 'instancetype' typedef.
PREDEF_DECL_BUILTIN_VA_LIST_ID | The internal '__builtin_va_list' typedef.
PREDEF_DECL_VA_LIST_TAG | The internal '__va_list_tag' struct, if any.
PREDEF_DECL_BUILTIN_MS_VA_LIST_ID | The internal '__builtin_ms_va_list' typedef.
PREDEF_DECL_EXTERN_C_CONTEXT_ID | The extern "C" context.
PREDEF_DECL_MAKE_INTEGER_SEQ_ID | The internal '__make_integer_seq' template.
PREDEF_DECL_CF_CONSTANT_STRING_ID | The internal '__NSConstantString' typedef.
PREDEF_DECL_CF_CONSTANT_STRING_TAG_ID | The internal '__NSConstantString' tag type.
PREDEF_DECL_TYPE_PACK_ELEMENT_ID | The internal '__type_pack_element' template.

Definition at line 1220 of file ASTBitCodes.h.

## ◆ PredefinedTypeIDs

enum clang::serialization::PredefinedTypeIDs

Predefined type IDs.

These type IDs correspond to predefined types in the AST context, such as built-in types (int) and special place-holder types (the <overload> and <dependent> type markers). Such types are never actually serialized, since they will be built by the AST context when it is created.

Enumerator
PREDEF_TYPE_NULL_ID | The NULL type.
PREDEF_TYPE_VOID_ID | The void type.
PREDEF_TYPE_BOOL_ID | The 'bool' or '_Bool' type.
PREDEF_TYPE_CHAR_U_ID | The 'char' type, when it is unsigned.
PREDEF_TYPE_UCHAR_ID | The 'unsigned char' type.
PREDEF_TYPE_USHORT_ID | The 'unsigned short' type.
PREDEF_TYPE_UINT_ID | The 'unsigned int' type.
PREDEF_TYPE_ULONG_ID | The 'unsigned long' type.
PREDEF_TYPE_ULONGLONG_ID | The 'unsigned long long' type.
PREDEF_TYPE_CHAR_S_ID | The 'char' type, when it is signed.
PREDEF_TYPE_SCHAR_ID | The 'signed char' type.
PREDEF_TYPE_WCHAR_ID | The C++ 'wchar_t' type.
PREDEF_TYPE_SHORT_ID | The (signed) 'short' type.
PREDEF_TYPE_INT_ID | The (signed) 'int' type.
PREDEF_TYPE_LONG_ID | The (signed) 'long' type.
PREDEF_TYPE_LONGLONG_ID | The (signed) 'long long' type.
PREDEF_TYPE_FLOAT_ID | The 'float' type.
PREDEF_TYPE_DOUBLE_ID | The 'double' type.
PREDEF_TYPE_LONGDOUBLE_ID | The 'long double' type.
PREDEF_TYPE_OVERLOAD_ID | The placeholder type for overloaded function sets.
PREDEF_TYPE_DEPENDENT_ID | The placeholder type for dependent types.
PREDEF_TYPE_UINT128_ID | The '__uint128_t' type.
PREDEF_TYPE_INT128_ID | The '__int128_t' type.
PREDEF_TYPE_NULLPTR_ID | The type of 'nullptr'.
PREDEF_TYPE_CHAR16_ID | The C++ 'char16_t' type.
PREDEF_TYPE_CHAR32_ID | The C++ 'char32_t' type.
PREDEF_TYPE_OBJC_ID | The ObjC 'id' type.
PREDEF_TYPE_OBJC_CLASS | The ObjC 'Class' type.
PREDEF_TYPE_OBJC_SEL | The ObjC 'SEL' type.
PREDEF_TYPE_UNKNOWN_ANY | The 'unknown any' placeholder type.
PREDEF_TYPE_BOUND_MEMBER | The placeholder type for bound member functions.
PREDEF_TYPE_AUTO_DEDUCT | The "auto" deduction type.
PREDEF_TYPE_AUTO_RREF_DEDUCT | The "auto &&" deduction type.
PREDEF_TYPE_HALF_ID | The OpenCL 'half' / ARM NEON __fp16 type.
PREDEF_TYPE_ARC_UNBRIDGED_CAST | ARC's unbridged-cast placeholder type.
PREDEF_TYPE_PSEUDO_OBJECT | The pseudo-object placeholder type.
PREDEF_TYPE_BUILTIN_FN | The placeholder type for builtin functions.
PREDEF_TYPE_EVENT_ID | OpenCL event type.
PREDEF_TYPE_CLK_EVENT_ID | OpenCL clk event type.
PREDEF_TYPE_SAMPLER_ID | OpenCL sampler type.
PREDEF_TYPE_QUEUE_ID | OpenCL queue type.
PREDEF_TYPE_RESERVE_ID_ID | OpenCL reserve_id type.
PREDEF_TYPE_OMP_ARRAY_SECTION | The placeholder type for OpenMP array section.
PREDEF_TYPE_FLOAT128_ID | The '__float128' type.
PREDEF_TYPE_FLOAT16_ID | The '_Float16' type.
PREDEF_TYPE_CHAR8_ID | The C++ 'char8_t' type.
PREDEF_TYPE_SHORT_ACCUM_ID | The 'short _Accum' type.
PREDEF_TYPE_ACCUM_ID | The '_Accum' type.
PREDEF_TYPE_LONG_ACCUM_ID | The 'long _Accum' type.
PREDEF_TYPE_USHORT_ACCUM_ID | The 'unsigned short _Accum' type.
PREDEF_TYPE_UACCUM_ID | The 'unsigned _Accum' type.
PREDEF_TYPE_ULONG_ACCUM_ID | The 'unsigned long _Accum' type.
PREDEF_TYPE_SHORT_FRACT_ID | The 'short _Fract' type.
PREDEF_TYPE_FRACT_ID | The '_Fract' type.
PREDEF_TYPE_LONG_FRACT_ID | The 'long _Fract' type.
PREDEF_TYPE_USHORT_FRACT_ID | The 'unsigned short _Fract' type.
PREDEF_TYPE_UFRACT_ID | The 'unsigned _Fract' type.
PREDEF_TYPE_ULONG_FRACT_ID | The 'unsigned long _Fract' type.
PREDEF_TYPE_SAT_SHORT_ACCUM_ID | The '_Sat short _Accum' type.
PREDEF_TYPE_SAT_ACCUM_ID | The '_Sat _Accum' type.
PREDEF_TYPE_SAT_LONG_ACCUM_ID | The '_Sat long _Accum' type.
PREDEF_TYPE_SAT_USHORT_ACCUM_ID | The '_Sat unsigned short _Accum' type.
PREDEF_TYPE_SAT_UACCUM_ID | The '_Sat unsigned _Accum' type.
PREDEF_TYPE_SAT_ULONG_ACCUM_ID | The '_Sat unsigned long _Accum' type.
PREDEF_TYPE_SAT_SHORT_FRACT_ID | The '_Sat short _Fract' type.
PREDEF_TYPE_SAT_FRACT_ID | The '_Sat _Fract' type.
PREDEF_TYPE_SAT_LONG_FRACT_ID | The '_Sat long _Fract' type.
PREDEF_TYPE_SAT_USHORT_FRACT_ID | The '_Sat unsigned short _Fract' type.
PREDEF_TYPE_SAT_UFRACT_ID | The '_Sat unsigned _Fract' type.
PREDEF_TYPE_SAT_ULONG_FRACT_ID | The '_Sat unsigned long _Fract' type.

Definition at line 803 of file ASTBitCodes.h.

## ◆ SpecialTypeIDs

enum clang::serialization::SpecialTypeIDs

The type IDs for special types constructed by semantic analysis.

The constants in this enumeration are indices into the SPECIAL_TYPES record.

Enumerator
SPECIAL_TYPE_CF_CONSTANT_STRING | CFConstantString type.
SPECIAL_TYPE_FILE | C FILE typedef type.
SPECIAL_TYPE_JMP_BUF | C jmp_buf typedef type.
SPECIAL_TYPE_SIGJMP_BUF | C sigjmp_buf typedef type.
SPECIAL_TYPE_OBJC_ID_REDEFINITION | Objective-C "id" redefinition type.
SPECIAL_TYPE_OBJC_CLASS_REDEFINITION | Objective-C "Class" redefinition type.
SPECIAL_TYPE_OBJC_SEL_REDEFINITION | Objective-C "SEL" redefinition type.
SPECIAL_TYPE_UCONTEXT_T | C ucontext_t typedef type.

Definition at line 1185 of file ASTBitCodes.h.

## ◆ StmtCode

enum clang::serialization::StmtCode

Record codes for each kind of statement or expression.

These constants describe the records that describe statements or expressions. These records occur within type and declarations block, so they begin with record values of 128. Each constant describes a record for a specific statement or expression class in the AST.

Enumerator
STMT_STOP | A marker record that indicates that we are at the end of an expression.
STMT_NULL_PTR | A NULL expression.
STMT_REF_PTR | A reference to a previously [de]serialized Stmt record.
STMT_NULL | A NullStmt record.
STMT_COMPOUND | A CompoundStmt record.
STMT_CASE | A CaseStmt record.
STMT_DEFAULT | A DefaultStmt record.
STMT_LABEL | A LabelStmt record.
STMT_ATTRIBUTED | An AttributedStmt record.
STMT_IF | An IfStmt record.
STMT_SWITCH | A SwitchStmt record.
STMT_WHILE | A WhileStmt record.
STMT_DO | A DoStmt record.
STMT_FOR | A ForStmt record.
STMT_GOTO | A GotoStmt record.
STMT_INDIRECT_GOTO | An IndirectGotoStmt record.
STMT_CONTINUE | A ContinueStmt record.
STMT_BREAK | A BreakStmt record.
STMT_RETURN | A ReturnStmt record.
STMT_DECL | A DeclStmt record.
STMT_CAPTURED | A CapturedStmt record.
STMT_GCCASM | A GCC-style AsmStmt record.
STMT_MSASM | A MS-style AsmStmt record.
EXPR_CONSTANT | A constant expression context.
EXPR_PREDEFINED | A PredefinedExpr record.
EXPR_DECL_REF | A DeclRefExpr record.
EXPR_INTEGER_LITERAL | An IntegerLiteral record.
EXPR_FLOATING_LITERAL | A FloatingLiteral record.
EXPR_IMAGINARY_LITERAL | An ImaginaryLiteral record.
EXPR_STRING_LITERAL | A StringLiteral record.
EXPR_CHARACTER_LITERAL | A CharacterLiteral record.
EXPR_PAREN | A ParenExpr record.
EXPR_PAREN_LIST | A ParenListExpr record.
EXPR_UNARY_OPERATOR | A UnaryOperator record.
EXPR_OFFSETOF | An OffsetOfExpr record.
EXPR_SIZEOF_ALIGN_OF | A SizefAlignOfExpr record.
EXPR_ARRAY_SUBSCRIPT | An ArraySubscriptExpr record.
EXPR_CALL | A CallExpr record.
EXPR_MEMBER | A MemberExpr record.
EXPR_BINARY_OPERATOR | A BinaryOperator record.
EXPR_COMPOUND_ASSIGN_OPERATOR | A CompoundAssignOperator record.
EXPR_CONDITIONAL_OPERATOR | A ConditionOperator record.
EXPR_IMPLICIT_CAST | An ImplicitCastExpr record.
EXPR_CSTYLE_CAST | A CStyleCastExpr record.
EXPR_COMPOUND_LITERAL | A CompoundLiteralExpr record.
EXPR_EXT_VECTOR_ELEMENT | An ExtVectorElementExpr record.
EXPR_INIT_LIST | An InitListExpr record.
EXPR_DESIGNATED_INIT | A DesignatedInitExpr record.
EXPR_DESIGNATED_INIT_UPDATE | A DesignatedInitUpdateExpr record.
EXPR_NO_INIT | An NoInitExpr record.
EXPR_ARRAY_INIT_LOOP | An ArrayInitLoopExpr record.
EXPR_ARRAY_INIT_INDEX | An ArrayInitIndexExpr record.
EXPR_IMPLICIT_VALUE_INIT | An ImplicitValueInitExpr record.
EXPR_VA_ARG | A VAArgExpr record.
EXPR_ADDR_LABEL | An AddrLabelExpr record.
EXPR_STMT | A StmtExpr record.
EXPR_CHOOSE | A ChooseExpr record.
EXPR_GNU_NULL | A GNUNullExpr record.
EXPR_SHUFFLE_VECTOR | A ShuffleVectorExpr record.
EXPR_CONVERT_VECTOR | A ConvertVectorExpr record.
EXPR_BLOCK | BlockExpr.
EXPR_GENERIC_SELECTION | A GenericSelectionExpr record.
EXPR_PSEUDO_OBJECT | A PseudoObjectExpr record.
EXPR_ATOMIC | An AtomicExpr record.
EXPR_OBJC_STRING_LITERAL | An ObjCStringLiteral record.
EXPR_OBJC_BOXED_EXPRESSION |
EXPR_OBJC_ARRAY_LITERAL |
EXPR_OBJC_DICTIONARY_LITERAL |
EXPR_OBJC_ENCODE | An ObjCEncodeExpr record.
EXPR_OBJC_SELECTOR_EXPR | An ObjCSelectorExpr record.
EXPR_OBJC_PROTOCOL_EXPR | An ObjCProtocolExpr record.
EXPR_OBJC_IVAR_REF_EXPR | An ObjCIvarRefExpr record.
EXPR_OBJC_PROPERTY_REF_EXPR | An ObjCPropertyRefExpr record.
EXPR_OBJC_SUBSCRIPT_REF_EXPR | An ObjCSubscriptRefExpr record.
EXPR_OBJC_KVC_REF_EXPR | UNUSED.
EXPR_OBJC_MESSAGE_EXPR | An ObjCMessageExpr record.
EXPR_OBJC_ISA | An ObjCIsa Expr record.
EXPR_OBJC_INDIRECT_COPY_RESTORE | An ObjCIndirectCopyRestoreExpr record.
STMT_OBJC_FOR_COLLECTION | An ObjCForCollectionStmt record.
STMT_OBJC_CATCH | An ObjCAtCatchStmt record.
STMT_OBJC_FINALLY | An ObjCAtFinallyStmt record.
STMT_OBJC_AT_TRY | An ObjCAtTryStmt record.
STMT_OBJC_AT_SYNCHRONIZED | An ObjCAtSynchronizedStmt record.
STMT_OBJC_AT_THROW | An ObjCAtThrowStmt record.
STMT_OBJC_AUTORELEASE_POOL | An ObjCAutoreleasePoolStmt record.
EXPR_OBJC_BOOL_LITERAL | An ObjCBoolLiteralExpr record.
EXPR_OBJC_AVAILABILITY_CHECK | An ObjCAvailabilityCheckExpr record.
STMT_CXX_CATCH | A CXXCatchStmt record.
STMT_CXX_TRY | A CXXTryStmt record.
STMT_CXX_FOR_RANGE | A CXXForRangeStmt record.
EXPR_CXX_OPERATOR_CALL | A CXXOperatorCallExpr record.
EXPR_CXX_MEMBER_CALL | A CXXMemberCallExpr record.
EXPR_CXX_CONSTRUCT | A CXXConstructExpr record.
EXPR_CXX_INHERITED_CTOR_INIT | A CXXInheritedCtorInitExpr record.
EXPR_CXX_TEMPORARY_OBJECT | A CXXTemporaryObjectExpr record.
EXPR_CXX_STATIC_CAST | A CXXStaticCastExpr record.
EXPR_CXX_DYNAMIC_CAST | A CXXDynamicCastExpr record.
EXPR_CXX_REINTERPRET_CAST | A CXXReinterpretCastExpr record.
EXPR_CXX_CONST_CAST | A CXXConstCastExpr record.
EXPR_CXX_FUNCTIONAL_CAST | A CXXFunctionalCastExpr record.
EXPR_USER_DEFINED_LITERAL | A UserDefinedLiteral record.
EXPR_CXX_STD_INITIALIZER_LIST | A CXXStdInitializerListExpr record.
EXPR_CXX_BOOL_LITERAL | A CXXBoolLiteralExpr record.
EXPR_CXX_NULL_PTR_LITERAL |
EXPR_CXX_TYPEID_EXPR |
EXPR_CXX_TYPEID_TYPE |
EXPR_CXX_THIS |
EXPR_CXX_THROW |
EXPR_CXX_DEFAULT_ARG |
EXPR_CXX_DEFAULT_INIT |
EXPR_CXX_BIND_TEMPORARY |
EXPR_CXX_SCALAR_VALUE_INIT |
EXPR_CXX_NEW |
EXPR_CXX_DELETE |
EXPR_CXX_PSEUDO_DESTRUCTOR |
EXPR_EXPR_WITH_CLEANUPS |
EXPR_CXX_DEPENDENT_SCOPE_MEMBER |
EXPR_CXX_DEPENDENT_SCOPE_DECL_REF |
EXPR_CXX_UNRESOLVED_CONSTRUCT |
EXPR_CXX_UNRESOLVED_MEMBER |
EXPR_CXX_UNRESOLVED_LOOKUP |
EXPR_CXX_EXPRESSION_TRAIT |
EXPR_CXX_NOEXCEPT |
EXPR_OPAQUE_VALUE |
EXPR_BINARY_CONDITIONAL_OPERATOR |
EXPR_TYPE_TRAIT |
EXPR_ARRAY_TYPE_TRAIT |
EXPR_PACK_EXPANSION |
EXPR_SIZEOF_PACK |
EXPR_SUBST_NON_TYPE_TEMPLATE_PARM |
EXPR_SUBST_NON_TYPE_TEMPLATE_PARM_PACK |
EXPR_FUNCTION_PARM_PACK |
EXPR_MATERIALIZE_TEMPORARY |
EXPR_CXX_FOLD |
EXPR_CUDA_KERNEL_CALL |
EXPR_ASTYPE |
EXPR_CXX_PROPERTY_REF_EXPR |
EXPR_CXX_PROPERTY_SUBSCRIPT_EXPR |
EXPR_CXX_UUIDOF_EXPR |
EXPR_CXX_UUIDOF_TYPE |
STMT_SEH_LEAVE |
STMT_SEH_EXCEPT |
STMT_SEH_FINALLY |
STMT_SEH_TRY |
STMT_OMP_PARALLEL_DIRECTIVE |
STMT_OMP_SIMD_DIRECTIVE |
STMT_OMP_FOR_DIRECTIVE |
STMT_OMP_FOR_SIMD_DIRECTIVE |
STMT_OMP_SECTIONS_DIRECTIVE |
STMT_OMP_SECTION_DIRECTIVE |
STMT_OMP_SINGLE_DIRECTIVE |
STMT_OMP_MASTER_DIRECTIVE |
STMT_OMP_CRITICAL_DIRECTIVE |
STMT_OMP_PARALLEL_FOR_DIRECTIVE |
STMT_OMP_PARALLEL_FOR_SIMD_DIRECTIVE |
STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE |
STMT_OMP_TASK_DIRECTIVE |
STMT_OMP_TASKYIELD_DIRECTIVE |
STMT_OMP_BARRIER_DIRECTIVE |
STMT_OMP_TASKWAIT_DIRECTIVE |
STMT_OMP_FLUSH_DIRECTIVE |
STMT_OMP_ORDERED_DIRECTIVE |
STMT_OMP_ATOMIC_DIRECTIVE |
STMT_OMP_TARGET_DIRECTIVE |
STMT_OMP_TARGET_DATA_DIRECTIVE |
STMT_OMP_TARGET_ENTER_DATA_DIRECTIVE |
STMT_OMP_TARGET_EXIT_DATA_DIRECTIVE |
STMT_OMP_TARGET_PARALLEL_DIRECTIVE |
STMT_OMP_TARGET_PARALLEL_FOR_DIRECTIVE |
STMT_OMP_TEAMS_DIRECTIVE |
STMT_OMP_TASKGROUP_DIRECTIVE |
STMT_OMP_CANCELLATION_POINT_DIRECTIVE |
STMT_OMP_CANCEL_DIRECTIVE |
STMT_OMP_TASKLOOP_DIRECTIVE |
STMT_OMP_TASKLOOP_SIMD_DIRECTIVE |
STMT_OMP_DISTRIBUTE_DIRECTIVE |
STMT_OMP_TARGET_UPDATE_DIRECTIVE |
STMT_OMP_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE |
STMT_OMP_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE |
STMT_OMP_DISTRIBUTE_SIMD_DIRECTIVE |
STMT_OMP_TARGET_PARALLEL_FOR_SIMD_DIRECTIVE |
STMT_OMP_TARGET_SIMD_DIRECTIVE |
STMT_OMP_TEAMS_DISTRIBUTE_DIRECTIVE |
STMT_OMP_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE |
STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE |
STMT_OMP_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE |
STMT_OMP_TARGET_TEAMS_DIRECTIVE |
STMT_OMP_TARGET_TEAMS_DISTRIBUTE_DIRECTIVE |
STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_DIRECTIVE |
STMT_OMP_TARGET_TEAMS_DISTRIBUTE_PARALLEL_FOR_SIMD_DIRECTIVE |
STMT_OMP_TARGET_TEAMS_DISTRIBUTE_SIMD_DIRECTIVE |
EXPR_OMP_ARRAY_SECTION |
EXPR_OBJC_BRIDGED_CAST |
STMT_MS_DEPENDENT_EXISTS |
EXPR_LAMBDA |
STMT_COROUTINE_BODY |
STMT_CORETURN |
EXPR_COAWAIT |
EXPR_COYIELD |
EXPR_DEPENDENT_COAWAIT |

Definition at line 1554 of file ASTBitCodes.h.

## ◆ TypeCode

enum clang::serialization::TypeCode

Record codes for each kind of type.

These constants describe the type records that can occur within a block identified by DECLTYPES_BLOCK_ID in the AST file. Each constant describes a record for a specific type class in the AST. Note that DeclCode values share this code space.

Enumerator
TYPE_EXT_QUAL | An ExtQualType record.
TYPE_COMPLEX | A ComplexType record.
TYPE_POINTER | A PointerType record.
TYPE_BLOCK_POINTER | A BlockPointerType record.
TYPE_LVALUE_REFERENCE | An LValueReferenceType record.
TYPE_RVALUE_REFERENCE | An RValueReferenceType record.
TYPE_MEMBER_POINTER | A MemberPointerType record.
TYPE_CONSTANT_ARRAY | A ConstantArrayType record.
TYPE_INCOMPLETE_ARRAY | An IncompleteArrayType record.
TYPE_VARIABLE_ARRAY | A VariableArrayType record.
TYPE_VECTOR | A VectorType record.
TYPE_EXT_VECTOR | An ExtVectorType record.
TYPE_FUNCTION_NO_PROTO | A FunctionNoProtoType record.
TYPE_FUNCTION_PROTO | A FunctionProtoType record.
TYPE_TYPEDEF | A TypedefType record.
TYPE_TYPEOF_EXPR | A TypeOfExprType record.
TYPE_TYPEOF | A TypeOfType record.
TYPE_RECORD | A RecordType record.
TYPE_ENUM | An EnumType record.
TYPE_OBJC_INTERFACE | An ObjCInterfaceType record.
TYPE_OBJC_OBJECT_POINTER | An ObjCObjectPointerType record.
TYPE_DECLTYPE | a DecltypeType record.
TYPE_ELABORATED | An ElaboratedType record.
TYPE_SUBST_TEMPLATE_TYPE_PARM | A SubstTemplateTypeParmType record.
TYPE_UNRESOLVED_USING | An UnresolvedUsingType record.
TYPE_INJECTED_CLASS_NAME | An InjectedClassNameType record.
TYPE_OBJC_OBJECT | An ObjCObjectType record.
TYPE_TEMPLATE_TYPE_PARM | An TemplateTypeParmType record.
TYPE_TEMPLATE_SPECIALIZATION | An TemplateSpecializationType record.
TYPE_DEPENDENT_NAME | A DependentNameType record.
TYPE_DEPENDENT_TEMPLATE_SPECIALIZATION | A DependentTemplateSpecializationType record.
TYPE_DEPENDENT_SIZED_ARRAY | A DependentSizedArrayType record.
TYPE_PAREN | A ParenType record.
TYPE_PACK_EXPANSION | A PackExpansionType record.
TYPE_ATTRIBUTED | An AttributedType record.
TYPE_SUBST_TEMPLATE_TYPE_PARM_PACK | A SubstTemplateTypeParmPackType record.
TYPE_AUTO | A AutoType record.
TYPE_UNARY_TRANSFORM | A UnaryTransformType record.
TYPE_ATOMIC | An AtomicType record.
TYPE_DECAYED | A DecayedType record.
TYPE_ADJUSTED | An AdjustedType record.
TYPE_PIPE | A PipeType record.
TYPE_OBJC_TYPE_PARAM | An ObjCTypeParamType record.
TYPE_DEDUCED_TEMPLATE_SPECIALIZATION | A DeducedTemplateSpecializationType record.
TYPE_DEPENDENT_SIZED_EXT_VECTOR | A DependentSizedExtVectorType record.
TYPE_DEPENDENT_ADDRESS_SPACE | A DependentAddressSpaceType record.
TYPE_DEPENDENT_SIZED_VECTOR | A dependentSizedVectorType record.

Definition at line 1037 of file ASTBitCodes.h.

## Variable Documentation

## ◆ DECL_UPDATES

const unsigned int clang::serialization::DECL_UPDATES = 49

Record of updates for a declaration that was modified after being deserialized.

This can occur within DECLTYPES_BLOCK_ID.

Definition at line 1281 of file ASTBitCodes.h.

Referenced by AddStmtsExprs().

## ◆ LOCAL_REDECLARATIONS

const unsigned int clang::serialization::LOCAL_REDECLARATIONS = 50

Record code for a list of local redeclarations of a declaration.

This can occur within DECLTYPES_BLOCK_ID.

Definition at line 1285 of file ASTBitCodes.h.

Referenced by AddStmtsExprs(), and clang::ASTDeclWriter::VisitRedeclarable().

## ◆ NUM_PREDEF_DECL_IDS

const unsigned int clang::serialization::NUM_PREDEF_DECL_IDS = 17

The number of declaration IDs that are predefined.

For more information about predefined declarations, see the `PredefinedDeclIDs` type and the PREDEF_DECL_*_ID constants.

Definition at line 1277 of file ASTBitCodes.h.

Referenced by clang::ASTRecordWriter::AddCXXDefinitionData(), clang::ASTReader::FindExternalLexicalDecls(), clang::ASTReader::GetDecl(), clang::ASTReader::GetExistingDecl(), clang::ASTReader::getGlobalDeclID(), clang::ASTReader::getSourceLocationForDeclID(), isConsumerInterestedIn(), clang::ASTReader::isDeclIDFromModule(), isDiagnosedResult(), clang::ASTWriter::IsLocalDecl(), and clang::ASTReader::mapGlobalIDToModuleFileGlobalID().

## ◆ NUM_PREDEF_TYPE_IDS

const unsigned clang::serialization::NUM_PREDEF_TYPE_IDS = 200

The number of predefined type IDs that are reserved for the PREDEF_TYPE_* constants.

Type IDs for non-predefined types will start at NUM_PREDEF_TYPE_IDs.

Definition at line 1029 of file ASTBitCodes.h.

Referenced by clang::ASTRecordWriter::AddCXXDefinitionData(), and clang::ASTReader::getGlobalTypeID().

## ◆ NumSpecialTypeIDs

const unsigned clang::serialization::NumSpecialTypeIDs = 8

The number of special type IDs.

Definition at line 1212 of file ASTBitCodes.h.