clang 20.0.0git
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::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_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 , clang::serialization::PREDEF_TYPE_OMP_ARRAY_SHAPING = 70 , clang::serialization::PREDEF_TYPE_OMP_ITERATOR = 71 ,
  clang::serialization::PREDEF_TYPE_INCOMPLETE_MATRIX_IDX = 72 , clang::serialization::PREDEF_TYPE_BFLOAT16_ID = 73 , clang::serialization::PREDEF_TYPE_IBM128_ID = 74 , clang::serialization::PREDEF_TYPE_UNRESOLVED_TEMPLATE ,
  clang::serialization::PREDEF_TYPE_LAST_ID
}
 Predefined type IDs. More...
 
enum  clang::serialization::TypeCode { clang::serialization::TYPE_EXT_QUAL = 1 }
 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::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_MS_GUID ,
  clang::serialization::DECL_TEMPLATE_PARAM_OBJECT , 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_TOP_LEVEL_STMT_DECL ,
  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_ENUM , 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_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_CONCEPT , clang::serialization::DECL_UNRESOLVED_USING_IF_EXISTS , 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_IMPORT , clang::serialization::DECL_OMP_THREADPRIVATE , clang::serialization::DECL_OMP_REQUIRES ,
  clang::serialization::DECL_OMP_ALLOCATE , clang::serialization::DECL_EMPTY , clang::serialization::DECL_LIFETIME_EXTENDED_TEMPORARY , clang::serialization::DECL_REQUIRES_EXPR_BODY ,
  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_MAPPER , clang::serialization::DECL_OMP_DECLARE_REDUCTION , clang::serialization::DECL_UNNAMED_GLOBAL_CONSTANT , clang::serialization::DECL_HLSL_BUFFER ,
  clang::serialization::DECL_IMPLICIT_CONCEPT_SPECIALIZATION , clang::serialization::DECL_LAST = DECL_IMPLICIT_CONCEPT_SPECIALIZATION
}
 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_MATRIX_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_SOURCE_LOC ,
  clang::serialization::EXPR_BUILTIN_PP_EMBED , 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_RECOVERY ,
  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_REWRITTEN_BINARY_OPERATOR , 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_ADDRSPACE_CAST , clang::serialization::EXPR_CXX_FUNCTIONAL_CAST , clang::serialization::EXPR_BUILTIN_BIT_CAST , clang::serialization::EXPR_USER_DEFINED_LITERAL ,
  clang::serialization::EXPR_CXX_STD_INITIALIZER_LIST , clang::serialization::EXPR_CXX_BOOL_LITERAL , clang::serialization::EXPR_CXX_PAREN_LIST_INIT , 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_PACK_INDEXING , 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_CONCEPT_SPECIALIZATION ,
  clang::serialization::EXPR_REQUIRES , 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_META_DIRECTIVE ,
  clang::serialization::STMT_OMP_CANONICAL_LOOP , clang::serialization::STMT_OMP_PARALLEL_DIRECTIVE , clang::serialization::STMT_OMP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_TILE_DIRECTIVE ,
  clang::serialization::STMT_OMP_UNROLL_DIRECTIVE , clang::serialization::STMT_OMP_REVERSE_DIRECTIVE , clang::serialization::STMT_OMP_INTERCHANGE_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_MASTER_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASKED_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE , clang::serialization::STMT_OMP_TASK_DIRECTIVE ,
  clang::serialization::STMT_OMP_TASKYIELD_DIRECTIVE , clang::serialization::STMT_OMP_ERROR_DIRECTIVE , clang::serialization::STMT_OMP_BARRIER_DIRECTIVE , clang::serialization::STMT_OMP_TASKWAIT_DIRECTIVE ,
  clang::serialization::STMT_OMP_FLUSH_DIRECTIVE , clang::serialization::STMT_OMP_DEPOBJ_DIRECTIVE , clang::serialization::STMT_OMP_SCAN_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_MASTER_TASKLOOP_DIRECTIVE , clang::serialization::STMT_OMP_MASTER_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASTER_TASKLOOP_DIRECTIVE ,
  clang::serialization::STMT_OMP_PARALLEL_MASTER_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_MASKED_TASKLOOP_DIRECTIVE , clang::serialization::STMT_OMP_MASKED_TASKLOOP_SIMD_DIRECTIVE , clang::serialization::STMT_OMP_PARALLEL_MASKED_TASKLOOP_DIRECTIVE ,
  clang::serialization::STMT_OMP_PARALLEL_MASKED_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::STMT_OMP_SCOPE_DIRECTIVE , clang::serialization::STMT_OMP_INTEROP_DIRECTIVE , clang::serialization::STMT_OMP_DISPATCH_DIRECTIVE ,
  clang::serialization::STMT_OMP_MASKED_DIRECTIVE , clang::serialization::STMT_OMP_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_TEAMS_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_TEAMS_GENERIC_LOOP_DIRECTIVE ,
  clang::serialization::STMT_OMP_PARALLEL_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_TARGET_PARALLEL_GENERIC_LOOP_DIRECTIVE , clang::serialization::STMT_OMP_ASSUME_DIRECTIVE , clang::serialization::EXPR_ARRAY_SECTION ,
  clang::serialization::EXPR_OMP_ARRAY_SHAPING , clang::serialization::EXPR_OMP_ITERATOR , 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 , clang::serialization::EXPR_FIXEDPOINT_LITERAL , clang::serialization::EXPR_SYCL_UNIQUE_STABLE_NAME ,
  clang::serialization::STMT_OPENACC_COMPUTE_CONSTRUCT , clang::serialization::STMT_OPENACC_LOOP_CONSTRUCT
}
 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...
 
enum  clang::serialization::CleanupObjectKind { clang::serialization::COK_Block , clang::serialization::COK_CompoundLiteral }
 Kinds of cleanup objects owned by ExprWithCleanups. More...
 

Variables

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

Detailed Description

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

Enumeration Type Documentation

◆ CleanupObjectKind

Kinds of cleanup objects owned by ExprWithCleanups.

Enumerator
COK_Block 
COK_CompoundLiteral 

Definition at line 2027 of file ASTBitCodes.h.

◆ 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 2019 of file ASTBitCodes.h.

◆ 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_MS_GUID 

A MSGuidDecl record.

DECL_TEMPLATE_PARAM_OBJECT 

A TemplateParamObjectDecl 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_TOP_LEVEL_STMT_DECL 

A TopLevelStmtDecl 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_ENUM 

A UsingEnumDecl 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_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_CONCEPT 

A ConceptDecl record.

DECL_UNRESOLVED_USING_IF_EXISTS 

An UnresolvedUsingIfExistsDecl 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_IMPORT 

An ImportDecl recording a module import.

DECL_OMP_THREADPRIVATE 

An OMPThreadPrivateDecl record.

DECL_OMP_REQUIRES 

An OMPRequiresDecl record.

DECL_OMP_ALLOCATE 

An OMPAllocateDcl record.

DECL_EMPTY 

An EmptyDecl record.

DECL_LIFETIME_EXTENDED_TEMPORARY 

An LifetimeExtendedTemporaryDecl record.

DECL_REQUIRES_EXPR_BODY 

A RequiresExprBodyDecl 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_MAPPER 

An OMPDeclareMapperDecl record.

DECL_OMP_DECLARE_REDUCTION 

An OMPDeclareReductionDecl record.

DECL_UNNAMED_GLOBAL_CONSTANT 

A UnnamedGlobalConstantDecl record.

DECL_HLSL_BUFFER 

A HLSLBufferDecl record.

DECL_IMPLICIT_CONCEPT_SPECIALIZATION 

An ImplicitConceptSpecializationDecl record.

DECL_LAST 

Definition at line 1213 of file ASTBitCodes.h.

◆ 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 2002 of file ASTBitCodes.h.

◆ 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_ARRAY_SECTION 

The placeholder type for an 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.

PREDEF_TYPE_OMP_ARRAY_SHAPING 

The placeholder type for OpenMP array shaping operation.

PREDEF_TYPE_OMP_ITERATOR 

The placeholder type for OpenMP iterator expression.

PREDEF_TYPE_INCOMPLETE_MATRIX_IDX 

A placeholder type for incomplete matrix index operations.

PREDEF_TYPE_BFLOAT16_ID 

The '__bf16' type.

PREDEF_TYPE_IBM128_ID 

The '__ibm128' type.

PREDEF_TYPE_UNRESOLVED_TEMPLATE 

The placeholder type for unresolved templates.

PREDEF_TYPE_LAST_ID 

Definition at line 879 of file ASTBitCodes.h.

◆ 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 1170 of file ASTBitCodes.h.

◆ 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_MATRIX_SUBSCRIPT 

An MatrixSubscriptExpr 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_SOURCE_LOC 

A SourceLocExpr record.

EXPR_BUILTIN_PP_EMBED 

A EmbedExpr 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_RECOVERY 

A RecoveryExpr 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_REWRITTEN_BINARY_OPERATOR 

A CXXRewrittenBinaryOperator 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_ADDRSPACE_CAST 

A CXXAddrspaceCastExpr record.

EXPR_CXX_FUNCTIONAL_CAST 

A CXXFunctionalCastExpr record.

EXPR_BUILTIN_BIT_CAST 

A BuiltinBitCastExpr 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_PAREN_LIST_INIT 

A CXXParenListInitExpr 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_PACK_INDEXING 
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_CONCEPT_SPECIALIZATION 
EXPR_REQUIRES 
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_META_DIRECTIVE 
STMT_OMP_CANONICAL_LOOP 
STMT_OMP_PARALLEL_DIRECTIVE 
STMT_OMP_SIMD_DIRECTIVE 
STMT_OMP_TILE_DIRECTIVE 
STMT_OMP_UNROLL_DIRECTIVE 
STMT_OMP_REVERSE_DIRECTIVE 
STMT_OMP_INTERCHANGE_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_MASTER_DIRECTIVE 
STMT_OMP_PARALLEL_MASKED_DIRECTIVE 
STMT_OMP_PARALLEL_SECTIONS_DIRECTIVE 
STMT_OMP_TASK_DIRECTIVE 
STMT_OMP_TASKYIELD_DIRECTIVE 
STMT_OMP_ERROR_DIRECTIVE 
STMT_OMP_BARRIER_DIRECTIVE 
STMT_OMP_TASKWAIT_DIRECTIVE 
STMT_OMP_FLUSH_DIRECTIVE 
STMT_OMP_DEPOBJ_DIRECTIVE 
STMT_OMP_SCAN_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_MASTER_TASKLOOP_DIRECTIVE 
STMT_OMP_MASTER_TASKLOOP_SIMD_DIRECTIVE 
STMT_OMP_PARALLEL_MASTER_TASKLOOP_DIRECTIVE 
STMT_OMP_PARALLEL_MASTER_TASKLOOP_SIMD_DIRECTIVE 
STMT_OMP_MASKED_TASKLOOP_DIRECTIVE 
STMT_OMP_MASKED_TASKLOOP_SIMD_DIRECTIVE 
STMT_OMP_PARALLEL_MASKED_TASKLOOP_DIRECTIVE 
STMT_OMP_PARALLEL_MASKED_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 
STMT_OMP_SCOPE_DIRECTIVE 
STMT_OMP_INTEROP_DIRECTIVE 
STMT_OMP_DISPATCH_DIRECTIVE 
STMT_OMP_MASKED_DIRECTIVE 
STMT_OMP_GENERIC_LOOP_DIRECTIVE 
STMT_OMP_TEAMS_GENERIC_LOOP_DIRECTIVE 
STMT_OMP_TARGET_TEAMS_GENERIC_LOOP_DIRECTIVE 
STMT_OMP_PARALLEL_GENERIC_LOOP_DIRECTIVE 
STMT_OMP_TARGET_PARALLEL_GENERIC_LOOP_DIRECTIVE 
STMT_OMP_ASSUME_DIRECTIVE 
EXPR_ARRAY_SECTION 
EXPR_OMP_ARRAY_SHAPING 
EXPR_OMP_ITERATOR 
EXPR_OBJC_BRIDGED_CAST 
STMT_MS_DEPENDENT_EXISTS 
EXPR_LAMBDA 
STMT_COROUTINE_BODY 
STMT_CORETURN 
EXPR_COAWAIT 
EXPR_COYIELD 
EXPR_DEPENDENT_COAWAIT 
EXPR_FIXEDPOINT_LITERAL 
EXPR_SYCL_UNIQUE_STABLE_NAME 
STMT_OPENACC_COMPUTE_CONSTRUCT 
STMT_OPENACC_LOOP_CONSTRUCT 

Definition at line 1506 of file ASTBitCodes.h.

◆ 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.

Definition at line 1156 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 1201 of file ASTBitCodes.h.

◆ 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 1205 of file ASTBitCodes.h.

Referenced by clang::ASTDeclWriter::VisitRedeclarable().

◆ NUM_PREDEF_TYPE_IDS

const unsigned clang::serialization::NUM_PREDEF_TYPE_IDS = 505

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 1142 of file ASTBitCodes.h.

Referenced by clang::ASTReader::getGlobalTypeID(), and isPredefinedType().

◆ NumSpecialTypeIDs

const unsigned clang::serialization::NumSpecialTypeIDs = 8

The number of special type IDs.

Definition at line 1197 of file ASTBitCodes.h.

Referenced by clang::ASTReader::InitializeContext().