clang  6.0.0svn
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
}
 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
}
 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_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
}
 Record codes for each kind of declaration. More...
 
enum  clang::serialization::StmtCode {
  clang::serialization::STMT_STOP = 128, 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_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 = 100
 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

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 1887 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_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_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.

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

◆ 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 1116 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_OMP_ARRAY_SECTION 

The placeholder type for OpenMP array section.

PREDEF_TYPE_FLOAT128_ID 

The '__float128' type.

PREDEF_TYPE_FLOAT16_ID 

The '_Float16' type.

Definition at line 781 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 1081 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_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 1445 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.

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.

Definition at line 936 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 1177 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 1181 of file ASTBitCodes.h.

Referenced by AddStmtsExprs().

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

Referenced by clang::ASTReader::FindExternalLexicalDecls(), clang::ASTReader::GetDecl(), clang::ASTReader::GetExistingDecl(), clang::ASTReader::getGlobalDeclID(), clang::ASTReader::getSourceLocationForDeclID(), clang::ASTReader::isDeclIDFromModule(), clang::ASTReader::mapGlobalIDToModuleFileGlobalID(), and clang::ASTDeclReader::markIncompleteDeclChainImpl().

◆ NUM_PREDEF_TYPE_IDS

const unsigned clang::serialization::NUM_PREDEF_TYPE_IDS = 100

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

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

◆ NumSpecialTypeIDs

const unsigned clang::serialization::NumSpecialTypeIDs = 8

The number of special type IDs.

Definition at line 1108 of file ASTBitCodes.h.