Module ATDGenerated.Clang_ast_t
type access_specifier
=[
|
`None
|
`Public
|
`Protected
|
`Private
]
type attribute_kind
=
type binary_operator_kind
=[
]
type binary_operator_info
=
{
boi_kind : binary_operator_kind;
}
type builtin_type_kind
=[
]
type cast_kind
=[
]
type cxx_base_specifier
=
{
xbs_name : string;
xbs_virtual : bool;
}
type cast_expr_info
=
{
cei_cast_kind : cast_kind;
cei_base_path : cxx_base_specifier list;
}
type cxx_noexcept_expr_info
=
{
xnee_value : bool;
}
type decl_context_info
=
{
dci_has_external_lexical_storage : bool;
dci_has_external_visible_storage : bool;
}
type decl_kind
=[
]
type declaration_name_kind
=[
]
type declaration_name
=
{
dn_kind : declaration_name_kind;
dn_name : string;
}
type enum_decl_scope
=[
|
`Class
|
`Struct
]
type enum_decl_info
=
{
edi_scope : enum_decl_scope option;
edi_is_module_private : bool;
}
type input_kind
=[
|
`IK_None
|
`IK_Asm
|
`IK_C
|
`IK_CXX
|
`IK_ObjC
|
`IK_ObjCXX
|
`IK_OpenCL
|
`IK_CUDA
|
`IK_HIP
|
`IK_RenderScript
|
`IK_LLVM_IR
]
type integer_literal_info
=
{
ili_is_signed : bool;
ili_bitwidth : int;
ili_value : string;
}
type integer_type_widths
=
{
itw_char_type : int;
itw_short_type : int;
itw_int_type : int;
itw_long_type : int;
itw_longlong_type : int;
}
type lambda_capture_kind
=[
|
`LCK_This
|
`LCK_ByCopy
|
`LCK_ByRef
|
`LCK_VLAType
|
`LCK_StarThis
]
type named_decl_info
=
{
ni_name : string;
ni_qual_name : string list;
}
type obj_c_access_control
=[
|
`None
|
`Private
|
`Protected
|
`Public
|
`Package
]
type obj_c_availability_check_expr_info
=
{
oacei_version : string option;
}
type obj_c_bridge_cast_kind
=[
|
`OBC_BridgeRetained
|
`OBC_Bridge
|
`OBC_BridgeTransfer
]
type obj_c_bridged_cast_expr_info
=
{
obcei_cast_kind : obj_c_bridge_cast_kind;
}
type obj_c_ivar_decl_info
=
{
ovdi_is_synthesize : bool;
ovdi_access_control : obj_c_access_control;
}
type obj_c_property_control
=[
|
`None
|
`Required
|
`Optional
]
type obj_c_subscript_kind
=[
|
`ArraySubscript
|
`DictionarySubscript
]
type objc_lifetime_attr
=[
|
`OCL_None
|
`OCL_ExplicitNone
|
`OCL_Strong
|
`OCL_Weak
|
`OCL_Autoreleasing
]
type attr_type_info
=
{
ati_attr_kind : attribute_kind;
ati_lifetime : objc_lifetime_attr;
}
type object_kind
=[
|
`Ordinary
|
`BitField
|
`ObjCProperty
|
`ObjCSubscript
|
`VectorComponent
]
type offset_of_expr_info
=
{
ooe_literal : integer_literal_info option;
}
type pointer
= int
type addr_label_expr_info
=
{
alei_label : string;
alei_pointer : pointer;
}
type cxx_new_expr_info
=
{
xnei_is_array : bool;
xnei_array_size_expr : pointer option;
xnei_initializer_expr : pointer option;
xnei_placement_args : pointer list;
}
type cxx_temporary
= pointer
type cxx_bind_temporary_expr_info
=
{
xbtei_cxx_temporary : cxx_temporary;
}
type goto_stmt_info
=
{
gsi_label : string;
gsi_pointer : pointer;
}
type obj_c_array_literal_expr_info
=
{
oalei_array_method : pointer option;
}
type obj_c_dictionary_literal_expr_info
=
{
odlei_dict_method : pointer option;
}
type predefined_expr_type
=[
|
`Func
|
`Function
|
`LFunction
|
`FuncDName
|
`FuncSig
|
`LFuncSig
|
`PrettyFunction
|
`PrettyFunctionNoVirtual
]
type property_attribute
=[
|
`Readonly
|
`Assign
|
`Readwrite
|
`Retain
|
`Copy
|
`Nonatomic
|
`Atomic
|
`Weak
|
`Strong
|
`Unsafe_unretained
|
`ExplicitGetter
|
`ExplicitSetter
]
type property_implementation
=[
|
`Synthesize
|
`Dynamic
]
type record_decl_info
=
{
rdi_definition_ptr : pointer;
rdi_is_module_private : bool;
rdi_is_complete_definition : bool;
rdi_is_dependent_type : bool;
}
type selector
= string
type obj_c_method_ref_info
=
{
mri_getter : selector option;
mri_setter : selector option;
}
type obj_c_subscript_ref_expr_info
=
{
osrei_kind : obj_c_subscript_kind;
osrei_getter : selector option;
osrei_setter : selector option;
}
type objc_boxed_expr_info
=
{
obei_boxing_method : selector option;
}
type sentinel_attr_info
=
{
sai_sentinel : int;
sai_null_pos : int;
}
type source_file
= string
type source_location
=
{
mutable sl_file : source_file option;
mutable sl_line : int option;
mutable sl_column : int option;
}
type source_range
= source_location * source_location
type attribute_info
=
{
ai_pointer : pointer;
ai_source_range : source_range;
}
type attr_tuple
= attribute_info
type comment_info
=
{
ci_parent_pointer : pointer;
ci_source_range : source_range;
}
type specifier_kind
=[
|
`Identifier
|
`Namespace
|
`NamespaceAlias
|
`TypeSpec
|
`TypeSpecWithTemplate
|
`Global
|
`Super
]
type stmt_info
=
{
si_pointer : pointer;
si_source_range : source_range;
}
type tag_kind
=[
|
`TTK_Struct
|
`TTK_Interface
|
`TTK_Union
|
`TTK_Class
|
`TTK_Enum
]
type type_ptr
= Clang_ast_types.TypePtr.t
type qual_type
=
{
qt_type_ptr : type_ptr;
qt_is_const : bool;
qt_is_restrict : bool;
qt_is_volatile : bool;
}
type array_type_info
=
{
arti_element_type : qual_type;
arti_stride : int option;
}
type compound_assign_operator_info
=
{
caoi_lhs_type : qual_type;
caoi_result_type : qual_type;
}
type cxx_delete_expr_info
=
{
xdei_is_array : bool;
xdei_destroyed_type : qual_type;
}
type decl_ref
=
{
dr_kind : decl_kind;
dr_decl_pointer : pointer;
dr_name : named_decl_info option;
dr_qual_type : qual_type option;
}
type cxx_construct_expr_info
=
{
xcei_decl_ref : decl_ref;
xcei_is_elidable : bool;
xcei_requires_zero_initialization : bool;
xcei_is_copy_constructor : bool;
}
type cxx_ctor_initializer_subject
=[
|
`Member of decl_ref
|
`Delegating of type_ptr
|
`BaseClass of type_ptr * bool
]
type decl_ref_expr_info
=
{
drti_decl_ref : decl_ref option;
drti_found_decl_ref : decl_ref option;
}
type expr_with_cleanups_info
=
{
ewci_decl_refs : decl_ref list;
}
type function_type_info
=
{
fti_return_type : qual_type;
}
type materialize_temporary_expr_info
=
{
mtei_decl_ref : decl_ref option;
}
type member_expr_info
=
{
mei_is_arrow : bool;
mei_performs_virtual_dispatch : bool;
mei_name : named_decl_info;
mei_decl_ref : decl_ref;
}
type namespace_decl_info
=
{
ndi_is_inline : bool;
ndi_original_namespace : decl_ref option;
}
type nested_name_specifier_loc
=
{
nnsl_kind : specifier_kind;
nnsl_ref : decl_ref option;
}
type namespace_alias_decl_info
=
{
nadi_namespace_loc : source_location;
nadi_target_name_loc : source_location;
nadi_nested_name_specifier_locs : nested_name_specifier_loc list;
nadi_namespace : decl_ref;
}
type obj_c_category_decl_info
=
{
odi_class_interface : decl_ref option;
odi_implementation : decl_ref option;
odi_protocols : decl_ref list;
}
type obj_c_category_impl_decl_info
=
{
ocidi_class_interface : decl_ref option;
ocidi_category_decl : decl_ref option;
}
type obj_c_compatible_alias_decl_info
=
{
ocadi_class_interface : decl_ref option;
}
type obj_c_interface_decl_info
=
{
otdi_super : decl_ref option;
otdi_implementation : decl_ref option;
otdi_protocols : decl_ref list;
otdi_known_categories : decl_ref list;
}
type obj_c_ivar_ref_expr_info
=
{
ovrei_decl_ref : decl_ref;
ovrei_pointer : pointer;
ovrei_is_free_ivar : bool;
}
type obj_c_property_decl_info
=
{
opdi_qual_type : qual_type;
opdi_getter_method : decl_ref option;
opdi_setter_method : decl_ref option;
opdi_ivar_decl : decl_ref option;
opdi_property_control : obj_c_property_control;
opdi_property_attributes : property_attribute list;
}
type obj_c_property_impl_decl_info
=
{
opidi_implementation : property_implementation;
opidi_property_decl : decl_ref option;
opidi_ivar_decl : decl_ref option;
}
type obj_c_protocol_decl_info
=
{
opcdi_protocols : decl_ref list;
}
type objc_encode_expr_info
=
{
oeei_qual_type : qual_type;
oeei_raw : string;
}
type objc_object_type_info
=
{
ooti_base_type : type_ptr;
ooti_protocol_decls_ptr : pointer list;
ooti_type_args : qual_type list;
}
type overload_expr_info
=
{
oei_decls : decl_ref list;
oei_name : declaration_name;
}
type params_type_info
=
{
pti_params_type : qual_type list;
}
type property_ref_kind
=[
|
`MethodRef of obj_c_method_ref_info
|
`PropertyRef of decl_ref
]
type obj_c_property_ref_expr_info
=
{
oprei_kind : property_ref_kind;
oprei_is_super_receiver : bool;
oprei_is_messaging_getter : bool;
oprei_is_messaging_setter : bool;
}
type receiver_kind
=[
|
`Instance
|
`Class of qual_type
|
`SuperInstance
|
`SuperClass
]
type obj_c_message_expr_info
=
{
omei_selector : string;
omei_is_definition_found : bool;
omei_decl_pointer : pointer option;
omei_receiver_kind : receiver_kind;
}
type type_info
=
{
ti_pointer : pointer;
ti_desugared_type : type_ptr option;
}
type type_trait_info
=
{
xtti_value : bool;
}
type typedef_decl_info
=
{
tdi_is_module_private : bool;
}
type typedef_type_info
=
{
tti_child_type : qual_type;
tti_decl_ptr : pointer;
}
type c_type
=
|
NoneType of type_info
|
AdjustedType of type_info * qual_type
|
DecayedType of type_info * qual_type
|
ConstantArrayType of type_info * array_type_info * int
|
DependentSizedArrayType of type_info * array_type_info
|
IncompleteArrayType of type_info * array_type_info
|
VariableArrayType of type_info * array_type_info * pointer
|
AtomicType of type_info * qual_type
|
AttributedType of type_info * attr_type_info
|
BlockPointerType of type_info * qual_type
|
BuiltinType of type_info * builtin_type_kind
|
ComplexType of type_info
|
DecltypeType of type_info * qual_type
|
AutoType of type_info
|
DeducedTemplateSpecializationType of type_info
|
DependentAddressSpaceType of type_info
|
DependentExtIntType of type_info
|
DependentNameType of type_info
|
DependentSizedExtVectorType of type_info
|
DependentTemplateSpecializationType of type_info
|
DependentVectorType of type_info
|
ElaboratedType of type_info
|
ExtIntType of type_info
|
FunctionNoProtoType of type_info * function_type_info
|
FunctionProtoType of type_info * function_type_info * params_type_info
|
InjectedClassNameType of type_info
|
MacroQualifiedType of type_info
|
ConstantMatrixType of type_info
|
DependentSizedMatrixType of type_info
|
MemberPointerType of type_info * qual_type
|
ObjCObjectPointerType of type_info * qual_type
|
ObjCObjectType of type_info * objc_object_type_info
|
ObjCInterfaceType of type_info * pointer
|
ObjCTypeParamType of type_info
|
PackExpansionType of type_info
|
ParenType of type_info * qual_type
|
PipeType of type_info
|
PointerType of type_info * qual_type
|
LValueReferenceType of type_info * qual_type
|
RValueReferenceType of type_info * qual_type
|
SubstTemplateTypeParmPackType of type_info
|
SubstTemplateTypeParmType of type_info
|
EnumType of type_info * pointer
|
RecordType of type_info * pointer
|
TemplateSpecializationType of type_info
|
TemplateTypeParmType of type_info
|
TypeOfExprType of type_info
|
TypeOfType of type_info
|
TypedefType of type_info * typedef_type_info
|
UnaryTransformType of type_info
|
UnresolvedUsingType of type_info
|
VectorType of type_info
|
ExtVectorType of type_info
type translation_unit_decl_info
=
{
tudi_input_path : source_file;
tudi_input_kind : input_kind;
tudi_integer_type_widths : integer_type_widths;
tudi_is_objc_arc_on : bool;
tudi_types : c_type list;
}
type unary_expr_or_type_trait_kind
=[
|
`AlignOf
|
`OpenMPRequiredSimdAlign
|
`PreferredAlignOf
|
`SizeOf
|
`SizeOfWithSize of int
|
`VecStep
]
type unary_expr_or_type_trait_expr_info
=
{
uttei_kind : unary_expr_or_type_trait_kind;
uttei_qual_type : qual_type;
}
type unary_operator_kind
=[
|
`PostInc
|
`PostDec
|
`PreInc
|
`PreDec
|
`AddrOf
|
`Deref
|
`Plus
|
`Minus
|
`Not
|
`LNot
|
`Real
|
`Imag
|
`Extension
|
`Coawait
]
type unary_operator_info
=
{
uoi_kind : unary_operator_kind;
uoi_is_postfix : bool;
}
type unresolved_lookup_expr_info
=
{
ulei_requires_ADL : bool;
ulei_is_overloaded : bool;
ulei_naming_class : decl_ref option;
}
type using_directive_decl_info
=
{
uddi_using_location : source_location;
uddi_namespace_key_location : source_location;
uddi_nested_name_specifier_locs : nested_name_specifier_loc list;
uddi_nominated_namespace : decl_ref option;
}
type value_kind
=[
|
`RValue
|
`LValue
|
`XValue
]
type expr_info
=
{
ei_qual_type : qual_type;
ei_value_kind : value_kind;
ei_object_kind : object_kind;
}
type version_tuple
=
{
vt_major : int;
vt_minor : int option;
vt_subminor : int option;
vt_build : int option;
}
type availability_attr_info
=
{
aai_platform : string option;
aai_introduced : version_tuple;
}
type visibility_attr
=
|
DefaultVisibility
|
HiddenVisibility
|
ProtectedVisibility
type attribute
=[
|
`AddressSpaceAttr of attribute_info
|
`ArmMveStrictPolymorphismAttr of attribute_info
|
`CmseNSCallAttr of attribute_info
|
`NoDerefAttr of attribute_info
|
`ObjCGCAttr of attribute_info
|
`ObjCInertUnsafeUnretainedAttr of attribute_info
|
`ObjCKindOfAttr of attribute_info
|
`OpenCLConstantAddressSpaceAttr of attribute_info
|
`OpenCLGenericAddressSpaceAttr of attribute_info
|
`OpenCLGlobalAddressSpaceAttr of attribute_info
|
`OpenCLLocalAddressSpaceAttr of attribute_info
|
`OpenCLPrivateAddressSpaceAttr of attribute_info
|
`Ptr32Attr of attribute_info
|
`Ptr64Attr of attribute_info
|
`SPtrAttr of attribute_info
|
`TypeNonNullAttr of attribute_info
|
`TypeNullUnspecifiedAttr of attribute_info
|
`TypeNullableAttr of attribute_info
|
`UPtrAttr of attribute_info
|
`FallThroughAttr of attribute_info
|
`NoMergeAttr of attribute_info
|
`SuppressAttr of attribute_info
|
`AArch64VectorPcsAttr of attribute_info
|
`AcquireHandleAttr of attribute_info
|
`AnyX86NoCfCheckAttr of attribute_info
|
`CDeclAttr of attribute_info
|
`FastCallAttr of attribute_info
|
`IntelOclBiccAttr of attribute_info
|
`LifetimeBoundAttr of attribute_info
|
`MSABIAttr of attribute_info
|
`NSReturnsRetainedAttr of attribute_info
|
`ObjCOwnershipAttr of attribute_info
|
`PascalAttr of attribute_info
|
`PcsAttr of attribute_info
|
`PreserveAllAttr of attribute_info
|
`PreserveMostAttr of attribute_info
|
`RegCallAttr of attribute_info
|
`StdCallAttr of attribute_info
|
`SwiftCallAttr of attribute_info
|
`SysVABIAttr of attribute_info
|
`ThisCallAttr of attribute_info
|
`VectorCallAttr of attribute_info
|
`SwiftContextAttr of attribute_info
|
`SwiftErrorResultAttr of attribute_info
|
`SwiftIndirectResultAttr of attribute_info
|
`AnnotateAttr of attr_tuple * string
|
`CFConsumedAttr of attribute_info
|
`CarriesDependencyAttr of attribute_info
|
`NSConsumedAttr of attribute_info
|
`NonNullAttr of attribute_info
|
`OSConsumedAttr of attribute_info
|
`PassObjectSizeAttr of attribute_info
|
`ReleaseHandleAttr of attribute_info
|
`UseHandleAttr of attribute_info
|
`AMDGPUFlatWorkGroupSizeAttr of attribute_info
|
`AMDGPUNumSGPRAttr of attribute_info
|
`AMDGPUNumVGPRAttr of attribute_info
|
`AMDGPUWavesPerEUAttr of attribute_info
|
`ARMInterruptAttr of attribute_info
|
`AVRInterruptAttr of attribute_info
|
`AVRSignalAttr of attribute_info
|
`AcquireCapabilityAttr of attribute_info
|
`AcquiredAfterAttr of attribute_info
|
`AcquiredBeforeAttr of attribute_info
|
`AlignMac68kAttr of attribute_info
|
`AlignedAttr of attribute_info
|
`AllocAlignAttr of attribute_info
|
`AllocSizeAttr of attribute_info
|
`AlwaysDestroyAttr of attribute_info
|
`AlwaysInlineAttr of attribute_info
|
`AnalyzerNoReturnAttr of attribute_info
|
`AnyX86InterruptAttr of attribute_info
|
`AnyX86NoCallerSavedRegistersAttr of attribute_info
|
`ArcWeakrefUnavailableAttr of attribute_info
|
`ArgumentWithTypeTagAttr of attribute_info
|
`ArmBuiltinAliasAttr of attribute_info
|
`ArtificialAttr of attribute_info
|
`AsmLabelAttr of attribute_info
|
`AssertCapabilityAttr of attribute_info
|
`AssertExclusiveLockAttr of attribute_info
|
`AssertSharedLockAttr of attribute_info
|
`AssumeAlignedAttr of attribute_info
|
`AvailabilityAttr of attr_tuple * availability_attr_info
|
`BPFPreserveAccessIndexAttr of attribute_info
|
`BlocksAttr of attribute_info
|
`BuiltinAttr of attribute_info
|
`C11NoReturnAttr of attribute_info
|
`CFAuditedTransferAttr of attribute_info
|
`CFGuardAttr of attribute_info
|
`CFICanonicalJumpTableAttr of attribute_info
|
`CFReturnsNotRetainedAttr of attribute_info
|
`CFReturnsRetainedAttr of attribute_info
|
`CFUnknownTransferAttr of attribute_info
|
`CPUDispatchAttr of attribute_info
|
`CPUSpecificAttr of attribute_info
|
`CUDAConstantAttr of attribute_info
|
`CUDADeviceAttr of attribute_info
|
`CUDADeviceBuiltinSurfaceTypeAttr of attribute_info
|
`CUDADeviceBuiltinTextureTypeAttr of attribute_info
|
`CUDAGlobalAttr of attribute_info
|
`CUDAHostAttr of attribute_info
|
`CUDAInvalidTargetAttr of attribute_info
|
`CUDALaunchBoundsAttr of attribute_info
|
`CUDASharedAttr of attribute_info
|
`CXX11NoReturnAttr of attribute_info
|
`CallableWhenAttr of attribute_info
|
`CallbackAttr of attribute_info
|
`CapabilityAttr of attribute_info
|
`CapturedRecordAttr of attribute_info
|
`CleanupAttr of attribute_info
|
`CmseNSEntryAttr of attribute_info
|
`CodeSegAttr of attribute_info
|
`ColdAttr of attribute_info
|
`CommonAttr of attribute_info
|
`ConstAttr of attribute_info
|
`ConstInitAttr of attribute_info
|
`ConstructorAttr of attribute_info
|
`ConsumableAttr of attribute_info
|
`ConsumableAutoCastAttr of attribute_info
|
`ConsumableSetOnReadAttr of attribute_info
|
`ConvergentAttr of attribute_info
|
`DLLExportAttr of attribute_info
|
`DLLExportStaticLocalAttr of attribute_info
|
`DLLImportAttr of attribute_info
|
`DLLImportStaticLocalAttr of attribute_info
|
`DeprecatedAttr of attribute_info
|
`DestructorAttr of attribute_info
|
`DiagnoseIfAttr of attribute_info
|
`DisableTailCallsAttr of attribute_info
|
`EmptyBasesAttr of attribute_info
|
`EnableIfAttr of attribute_info
|
`EnumExtensibilityAttr of attribute_info
|
`ExcludeFromExplicitInstantiationAttr of attribute_info
|
`ExclusiveTrylockFunctionAttr of attribute_info
|
`ExternalSourceSymbolAttr of attribute_info
|
`FinalAttr of attribute_info
|
`FlagEnumAttr of attribute_info
|
`FlattenAttr of attribute_info
|
`FormatAttr of attribute_info
|
`FormatArgAttr of attribute_info
|
`GNUInlineAttr of attribute_info
|
`GuardedByAttr of attribute_info
|
`GuardedVarAttr of attribute_info
|
`HotAttr of attribute_info
|
`IBActionAttr of attribute_info
|
`IBOutletAttr of attribute_info
|
`IBOutletCollectionAttr of attribute_info
|
`InitPriorityAttr of attribute_info
|
`InternalLinkageAttr of attribute_info
|
`LTOVisibilityPublicAttr of attribute_info
|
`LayoutVersionAttr of attribute_info
|
`LockReturnedAttr of attribute_info
|
`LocksExcludedAttr of attribute_info
|
`MIGServerRoutineAttr of attribute_info
|
`MSAllocatorAttr of attribute_info
|
`MSInheritanceAttr of attribute_info
|
`MSNoVTableAttr of attribute_info
|
`MSP430InterruptAttr of attribute_info
|
`MSStructAttr of attribute_info
|
`MSVtorDispAttr of attribute_info
|
`MaxFieldAlignmentAttr of attribute_info
|
`MayAliasAttr of attribute_info
|
`MicroMipsAttr of attribute_info
|
`MinSizeAttr of attribute_info
|
`MinVectorWidthAttr of attribute_info
|
`Mips16Attr of attribute_info
|
`MipsInterruptAttr of attribute_info
|
`MipsLongCallAttr of attribute_info
|
`MipsShortCallAttr of attribute_info
|
`NSConsumesSelfAttr of attribute_info
|
`NSReturnsAutoreleasedAttr of attribute_info
|
`NSReturnsNotRetainedAttr of attribute_info
|
`NakedAttr of attribute_info
|
`NoAliasAttr of attribute_info
|
`NoCommonAttr of attribute_info
|
`NoDebugAttr of attribute_info
|
`NoDestroyAttr of attribute_info
|
`NoDuplicateAttr of attribute_info
|
`NoInlineAttr of attribute_info
|
`NoInstrumentFunctionAttr of attribute_info
|
`NoMicroMipsAttr of attribute_info
|
`NoMips16Attr of attribute_info
|
`NoReturnAttr of attribute_info
|
`NoSanitizeAttr of attribute_info
|
`NoSpeculativeLoadHardeningAttr of attribute_info
|
`NoSplitStackAttr of attribute_info
|
`NoStackProtectorAttr of attribute_info
|
`NoThreadSafetyAnalysisAttr of attribute_info
|
`NoThrowAttr of attribute_info
|
`NoUniqueAddressAttr of attribute_info
|
`NotTailCalledAttr of attribute_info
|
`OMPAllocateDeclAttr of attribute_info
|
`OMPCaptureNoInitAttr of attribute_info
|
`OMPDeclareTargetDeclAttr of attribute_info
|
`OMPDeclareVariantAttr of attribute_info
|
`OMPThreadPrivateDeclAttr of attribute_info
|
`OSConsumesThisAttr of attribute_info
|
`OSReturnsNotRetainedAttr of attribute_info
|
`OSReturnsRetainedAttr of attribute_info
|
`OSReturnsRetainedOnNonZeroAttr of attribute_info
|
`OSReturnsRetainedOnZeroAttr of attribute_info
|
`ObjCBridgeAttr of attribute_info
|
`ObjCBridgeMutableAttr of attribute_info
|
`ObjCBridgeRelatedAttr of attribute_info
|
`ObjCExceptionAttr of attribute_info
|
`ObjCExplicitProtocolImplAttr of attribute_info
|
`ObjCExternallyRetainedAttr of attribute_info
|
`ObjCIndependentClassAttr of attribute_info
|
`ObjCMethodFamilyAttr of attribute_info
|
`ObjCNSObjectAttr of attribute_info
|
`ObjCPreciseLifetimeAttr of attribute_info
|
`ObjCRequiresPropertyDefsAttr of attribute_info
|
`ObjCRequiresSuperAttr of attribute_info
|
`ObjCReturnsInnerPointerAttr of attribute_info
|
`ObjCRootClassAttr of attribute_info
|
`ObjCSubclassingRestrictedAttr of attribute_info
|
`OpenCLIntelReqdSubGroupSizeAttr of attribute_info
|
`OpenCLKernelAttr of attribute_info
|
`OpenCLUnrollHintAttr of attribute_info
|
`OptimizeNoneAttr of attribute_info
|
`OverrideAttr of attribute_info
|
`OwnerAttr of attribute_info
|
`OwnershipAttr of attribute_info
|
`PackedAttr of attribute_info
|
`ParamTypestateAttr of attribute_info
|
`PatchableFunctionEntryAttr of attribute_info
|
`PointerAttr of attribute_info
|
`PragmaClangBSSSectionAttr of attribute_info
|
`PragmaClangDataSectionAttr of attribute_info
|
`PragmaClangRelroSectionAttr of attribute_info
|
`PragmaClangRodataSectionAttr of attribute_info
|
`PragmaClangTextSectionAttr of attribute_info
|
`PtGuardedByAttr of attribute_info
|
`PtGuardedVarAttr of attribute_info
|
`PureAttr of attribute_info
|
`RISCVInterruptAttr of attribute_info
|
`ReinitializesAttr of attribute_info
|
`ReleaseCapabilityAttr of attribute_info
|
`ReqdWorkGroupSizeAttr of attribute_info
|
`RequiresCapabilityAttr of attribute_info
|
`RestrictAttr of attribute_info
|
`ReturnTypestateAttr of attribute_info
|
`ReturnsNonNullAttr of attribute_info
|
`ReturnsTwiceAttr of attribute_info
|
`SYCLKernelAttr of attribute_info
|
`ScopedLockableAttr of attribute_info
|
`SectionAttr of attribute_info
|
`SelectAnyAttr of attribute_info
|
`SentinelAttr of attr_tuple * sentinel_attr_info
|
`SetTypestateAttr of attribute_info
|
`SharedTrylockFunctionAttr of attribute_info
|
`SpeculativeLoadHardeningAttr of attribute_info
|
`TLSModelAttr of attribute_info
|
`TargetAttr of attribute_info
|
`TestTypestateAttr of attribute_info
|
`TransparentUnionAttr of attribute_info
|
`TrivialABIAttr of attribute_info
|
`TryAcquireCapabilityAttr of attribute_info
|
`TypeTagForDatatypeAttr of attribute_info
|
`TypeVisibilityAttr of attribute_info
|
`UnavailableAttr of attribute_info
|
`UninitializedAttr of attribute_info
|
`UnusedAttr of attribute_info
|
`UsedAttr of attribute_info
|
`UuidAttr of attribute_info
|
`VecReturnAttr of attribute_info
|
`VecTypeHintAttr of attribute_info
|
`VisibilityAttr of attr_tuple * visibility_attr
|
`WarnUnusedAttr of attribute_info
|
`WarnUnusedResultAttr of attribute_info
|
`WeakAttr of attribute_info
|
`WeakImportAttr of attribute_info
|
`WeakRefAttr of attribute_info
|
`WebAssemblyExportNameAttr of attribute_info
|
`WebAssemblyImportModuleAttr of attribute_info
|
`WebAssemblyImportNameAttr of attribute_info
|
`WorkGroupSizeHintAttr of attribute_info
|
`X86ForceAlignArgPointerAttr of attribute_info
|
`XRayInstrumentAttr of attribute_info
|
`XRayLogArgsAttr of attribute_info
|
`AbiTagAttr of attribute_info
|
`AliasAttr of attribute_info
|
`AlignValueAttr of attribute_info
|
`IFuncAttr of attribute_info
|
`InitSegAttr of attribute_info
|
`LoaderUninitializedAttr of attribute_info
|
`LoopHintAttr of attribute_info
|
`ModeAttr of attribute_info
|
`NoBuiltinAttr of attribute_info
|
`NoEscapeAttr of attribute_info
|
`OMPCaptureKindAttr of attribute_info
|
`OMPDeclareSimdDeclAttr of attribute_info
|
`OMPReferencedVarAttr of attribute_info
|
`ObjCBoxableAttr of attribute_info
|
`ObjCClassStubAttr of attribute_info
|
`ObjCDesignatedInitializerAttr of attribute_info
|
`ObjCDirectAttr of attribute_info
|
`ObjCDirectMembersAttr of attribute_info
|
`ObjCNonLazyClassAttr of attribute_info
|
`ObjCRuntimeNameAttr of attribute_info
|
`ObjCRuntimeVisibleAttr of attribute_info
|
`OpenCLAccessAttr of attribute_info
|
`OverloadableAttr of attribute_info
|
`RenderScriptKernelAttr of attribute_info
|
`ThreadAttr of attribute_info
]
type template_instantiation_arg_info
=[
|
`Null
|
`Type of qual_type
|
`Declaration of pointer
|
`NullPtr
|
`Integral of string
|
`Template
|
`TemplateExpansion
|
`Expression
|
`Pack of template_instantiation_arg_info list
]
type comment
=
|
BlockCommandComment of comment_info * comment list
|
ParamCommandComment of comment_info * comment list
|
TParamCommandComment of comment_info * comment list
|
VerbatimBlockComment of comment_info * comment list
|
VerbatimLineComment of comment_info * comment list
|
ParagraphComment of comment_info * comment list
|
FullComment of comment_info * comment list
|
HTMLEndTagComment of comment_info * comment list
|
HTMLStartTagComment of comment_info * comment list
|
InlineCommandComment of comment_info * comment list
|
TextComment of comment_info * comment list
|
VerbatimBlockLineComment of comment_info * comment list
type template_specialization_info
=
{
tsi_template_decl : pointer;
tsi_specialization_args : template_instantiation_arg_info list;
}
type decl_info
=
{
di_pointer : pointer;
di_parent_pointer : pointer option;
di_source_range : source_range;
di_owning_module : string option;
di_is_implicit : bool;
di_is_used : bool;
di_is_this_declaration_referenced : bool;
di_is_invalid_decl : bool;
di_attributes : attribute list;
di_full_comment : comment option;
di_access : access_specifier;
}
type block_captured_variable
=
{
bcv_is_by_ref : bool;
bcv_is_nested : bool;
bcv_variable : decl_ref option;
bcv_copy_expr : stmt option;
}
and block_decl_info
=
{
bdi_parameters : decl list;
bdi_is_variadic : bool;
bdi_captures_cxx_this : bool;
bdi_captured_variables : block_captured_variable list;
bdi_body : stmt option;
bdi_mangled_name : string;
}
and cxx_catch_stmt_info
=
{
xcsi_variable : decl option;
}
and cxx_ctor_initializer
=
{
xci_subject : cxx_ctor_initializer_subject;
xci_source_range : source_range;
xci_init_expr : stmt option;
}
and cxx_default_expr_info
=
{
xdaei_init_expr : stmt option;
}
and cxx_method_decl_info
=
{
xmdi_is_virtual : bool;
xmdi_is_static : bool;
xmdi_cxx_ctor_initializers : cxx_ctor_initializer list;
xmdi_overriden_methods : decl_ref list;
}
and cxx_record_decl_info
=
{
xrdi_bases : type_ptr list;
xrdi_vbases : type_ptr list;
xrdi_transitive_vbases : type_ptr list;
xrdi_is_pod : bool;
xrdi_destructor : decl_ref option;
xrdi_lambda_call_operator : decl_ref option;
xrdi_lambda_captures : lambda_capture_info list;
}
and decl
=
and enum_constant_decl_info
=
{
ecdi_init_expr : stmt option;
}
and field_decl_info
=
{
fldi_is_mutable : bool;
fldi_is_module_private : bool;
fldi_init_expr : stmt option;
fldi_bit_width_expr : stmt option;
}
and friend_info
=[
|
`Type of type_ptr
|
`Decl of decl
]
and function_decl_info
=
{
fdi_mangled_name : string option;
fdi_is_cpp : bool;
fdi_is_inline : bool;
fdi_is_module_private : bool;
fdi_is_pure : bool;
fdi_is_delete_as_written : bool;
fdi_is_no_return : bool;
fdi_is_constexpr : bool;
fdi_is_variadic : bool;
fdi_is_static : bool;
fdi_parameters : decl list;
fdi_decl_ptr_with_body : pointer option;
fdi_body : stmt option;
fdi_template_specialization : template_specialization_info option;
}
and generic_selection_info
=
{
gse_value : stmt option;
}
and if_stmt_info
=
{
isi_init : pointer option;
isi_cond_var : stmt option;
isi_cond : pointer;
isi_then : pointer;
isi_else : (pointer * source_location) option;
}
and lambda_capture_info
=
{
lci_capture_kind : lambda_capture_kind;
lci_capture_this : bool;
lci_capture_variable : bool;
lci_capture_VLAtype : bool;
lci_init_captured_vardecl : decl option;
lci_captured_var : decl_ref option;
lci_is_implicit : bool;
lci_location : source_range;
lci_is_pack_expansion : bool;
}
and lambda_expr_info
=
{
lei_lambda_decl : decl;
}
and obj_c_implementation_decl_info
=
{
oidi_super : decl_ref option;
oidi_class_interface : decl_ref option;
oidi_ivar_initializers : cxx_ctor_initializer list;
}
and obj_c_message_expr_kind
=[
|
`CatchParam of decl
|
`CatchAll
]
and obj_c_method_decl_info
=
{
omdi_is_instance_method : bool;
omdi_result_type : qual_type;
omdi_is_property_accessor : bool;
omdi_property_decl : decl_ref option;
omdi_parameters : decl list;
omdi_implicit_parameters : decl list;
omdi_is_variadic : bool;
omdi_is_overriding : bool;
omdi_is_optional : bool;
omdi_body : stmt option;
omdi_mangled_name : string;
}
and opaque_value_expr_info
=
{
ovei_source_expr : stmt option;
}
and stmt
=
|
GCCAsmStmt of stmt_info * stmt list
|
MSAsmStmt of stmt_info * stmt list
|
BreakStmt of stmt_info * stmt list
|
CXXCatchStmt of stmt_info * stmt list * cxx_catch_stmt_info
|
CXXForRangeStmt of stmt_info * stmt list
|
CXXTryStmt of stmt_info * stmt list
|
CapturedStmt of stmt_info * stmt list
|
CompoundStmt of stmt_info * stmt list
|
ContinueStmt of stmt_info * stmt list
|
CoreturnStmt of stmt_info * stmt list
|
CoroutineBodyStmt of stmt_info * stmt list
|
DeclStmt of stmt_info * stmt list * decl list
|
DoStmt of stmt_info * stmt list
|
ForStmt of stmt_info * stmt list
|
GotoStmt of stmt_info * stmt list * goto_stmt_info
|
IfStmt of stmt_info * stmt list * if_stmt_info
|
IndirectGotoStmt of stmt_info * stmt list
|
MSDependentExistsStmt of stmt_info * stmt list
|
NullStmt of stmt_info * stmt list
|
OMPAtomicDirective of stmt_info * stmt list
|
OMPBarrierDirective of stmt_info * stmt list
|
OMPCancelDirective of stmt_info * stmt list
|
OMPCancellationPointDirective of stmt_info * stmt list
|
OMPCriticalDirective of stmt_info * stmt list
|
OMPDepobjDirective of stmt_info * stmt list
|
OMPFlushDirective of stmt_info * stmt list
|
OMPDistributeDirective of stmt_info * stmt list
|
OMPDistributeParallelForDirective of stmt_info * stmt list
|
OMPDistributeParallelForSimdDirective of stmt_info * stmt list
|
OMPDistributeSimdDirective of stmt_info * stmt list
|
OMPForDirective of stmt_info * stmt list
|
OMPForSimdDirective of stmt_info * stmt list
|
OMPMasterTaskLoopDirective of stmt_info * stmt list
|
OMPMasterTaskLoopSimdDirective of stmt_info * stmt list
|
OMPParallelForDirective of stmt_info * stmt list
|
OMPParallelForSimdDirective of stmt_info * stmt list
|
OMPParallelMasterTaskLoopDirective of stmt_info * stmt list
|
OMPParallelMasterTaskLoopSimdDirective of stmt_info * stmt list
|
OMPSimdDirective of stmt_info * stmt list
|
OMPTargetParallelForSimdDirective of stmt_info * stmt list
|
OMPTargetSimdDirective of stmt_info * stmt list
|
OMPTargetTeamsDistributeDirective of stmt_info * stmt list
|
OMPTargetTeamsDistributeParallelForDirective of stmt_info * stmt list
|
OMPTargetTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
|
OMPTargetTeamsDistributeSimdDirective of stmt_info * stmt list
|
OMPTaskLoopDirective of stmt_info * stmt list
|
OMPTaskLoopSimdDirective of stmt_info * stmt list
|
OMPTeamsDistributeDirective of stmt_info * stmt list
|
OMPTeamsDistributeParallelForDirective of stmt_info * stmt list
|
OMPTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
|
OMPTeamsDistributeSimdDirective of stmt_info * stmt list
|
OMPMasterDirective of stmt_info * stmt list
|
OMPOrderedDirective of stmt_info * stmt list
|
OMPParallelDirective of stmt_info * stmt list
|
OMPParallelMasterDirective of stmt_info * stmt list
|
OMPParallelSectionsDirective of stmt_info * stmt list
|
OMPScanDirective of stmt_info * stmt list
|
OMPSectionDirective of stmt_info * stmt list
|
OMPSectionsDirective of stmt_info * stmt list
|
OMPSingleDirective of stmt_info * stmt list
|
OMPTargetDataDirective of stmt_info * stmt list
|
OMPTargetDirective of stmt_info * stmt list
|
OMPTargetEnterDataDirective of stmt_info * stmt list
|
OMPTargetExitDataDirective of stmt_info * stmt list
|
OMPTargetParallelDirective of stmt_info * stmt list
|
OMPTargetParallelForDirective of stmt_info * stmt list
|
OMPTargetTeamsDirective of stmt_info * stmt list
|
OMPTargetUpdateDirective of stmt_info * stmt list
|
OMPTaskDirective of stmt_info * stmt list
|
OMPTaskgroupDirective of stmt_info * stmt list
|
OMPTaskwaitDirective of stmt_info * stmt list
|
OMPTaskyieldDirective of stmt_info * stmt list
|
OMPTeamsDirective of stmt_info * stmt list
|
ObjCAtCatchStmt of stmt_info * stmt list * obj_c_message_expr_kind
|
ObjCAtFinallyStmt of stmt_info * stmt list
|
ObjCAtSynchronizedStmt of stmt_info * stmt list
|
ObjCAtThrowStmt of stmt_info * stmt list
|
ObjCAtTryStmt of stmt_info * stmt list
|
ObjCAutoreleasePoolStmt of stmt_info * stmt list
|
ObjCForCollectionStmt of stmt_info * stmt list
|
ReturnStmt of stmt_info * stmt list
|
SEHExceptStmt of stmt_info * stmt list
|
SEHFinallyStmt of stmt_info * stmt list
|
SEHLeaveStmt of stmt_info * stmt list
|
SEHTryStmt of stmt_info * stmt list
|
CaseStmt of stmt_info * stmt list
|
DefaultStmt of stmt_info * stmt list
|
SwitchStmt of stmt_info * stmt list * switch_stmt_info
|
AttributedStmt of stmt_info * stmt list * attribute list
|
BinaryConditionalOperator of stmt_info * stmt list * expr_info
|
ConditionalOperator of stmt_info * stmt list * expr_info
|
AddrLabelExpr of stmt_info * stmt list * expr_info * addr_label_expr_info
|
ArrayInitIndexExpr of stmt_info * stmt list * expr_info
|
ArrayInitLoopExpr of stmt_info * stmt list * expr_info
|
ArraySubscriptExpr of stmt_info * stmt list * expr_info
|
ArrayTypeTraitExpr of stmt_info * stmt list * expr_info
|
AsTypeExpr of stmt_info * stmt list * expr_info
|
AtomicExpr of stmt_info * stmt list * expr_info
|
BinaryOperator of stmt_info * stmt list * expr_info * binary_operator_info
|
CompoundAssignOperator of stmt_info * stmt list * expr_info * binary_operator_info * compound_assign_operator_info
|
BlockExpr of stmt_info * stmt list * expr_info * decl
|
CXXBindTemporaryExpr of stmt_info * stmt list * expr_info * cxx_bind_temporary_expr_info
|
CXXBoolLiteralExpr of stmt_info * stmt list * expr_info * int
|
CXXConstructExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
|
CXXTemporaryObjectExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
|
CXXDefaultArgExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
|
CXXDefaultInitExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
|
CXXDeleteExpr of stmt_info * stmt list * expr_info * cxx_delete_expr_info
|
CXXDependentScopeMemberExpr of stmt_info * stmt list * expr_info
|
CXXFoldExpr of stmt_info * stmt list * expr_info
|
CXXInheritedCtorInitExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
|
CXXNewExpr of stmt_info * stmt list * expr_info * cxx_new_expr_info
|
CXXNoexceptExpr of stmt_info * stmt list * expr_info * cxx_noexcept_expr_info
|
CXXNullPtrLiteralExpr of stmt_info * stmt list * expr_info
|
CXXPseudoDestructorExpr of stmt_info * stmt list * expr_info
|
CXXRewrittenBinaryOperator of stmt_info * stmt list * expr_info
|
CXXScalarValueInitExpr of stmt_info * stmt list * expr_info
|
CXXStdInitializerListExpr of stmt_info * stmt list * expr_info
|
CXXThisExpr of stmt_info * stmt list * expr_info
|
CXXThrowExpr of stmt_info * stmt list * expr_info
|
CXXTypeidExpr of stmt_info * stmt list * expr_info
|
CXXUnresolvedConstructExpr of stmt_info * stmt list * expr_info
|
CXXUuidofExpr of stmt_info * stmt list * expr_info
|
CallExpr of stmt_info * stmt list * expr_info
|
CUDAKernelCallExpr of stmt_info * stmt list * expr_info
|
CXXMemberCallExpr of stmt_info * stmt list * expr_info
|
CXXOperatorCallExpr of stmt_info * stmt list * expr_info
|
UserDefinedLiteral of stmt_info * stmt list * expr_info
|
BuiltinBitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type
|
CStyleCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type
|
CXXFunctionalCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type
|
CXXAddrspaceCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
|
CXXConstCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
|
CXXDynamicCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
|
CXXReinterpretCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
|
CXXStaticCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string
|
ObjCBridgedCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * obj_c_bridged_cast_expr_info
|
ImplicitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info
|
CharacterLiteral of stmt_info * stmt list * expr_info * int
|
ChooseExpr of stmt_info * stmt list * expr_info
|
CompoundLiteralExpr of stmt_info * stmt list * expr_info
|
ConceptSpecializationExpr of stmt_info * stmt list * expr_info
|
ConvertVectorExpr of stmt_info * stmt list * expr_info
|
CoawaitExpr of stmt_info * stmt list * expr_info
|
CoyieldExpr of stmt_info * stmt list * expr_info
|
DeclRefExpr of stmt_info * stmt list * expr_info * decl_ref_expr_info
|
DependentCoawaitExpr of stmt_info * stmt list * expr_info
|
DependentScopeDeclRefExpr of stmt_info * stmt list * expr_info
|
DesignatedInitExpr of stmt_info * stmt list * expr_info
|
DesignatedInitUpdateExpr of stmt_info * stmt list * expr_info
|
ExpressionTraitExpr of stmt_info * stmt list * expr_info
|
ExtVectorElementExpr of stmt_info * stmt list * expr_info
|
FixedPointLiteral of stmt_info * stmt list * expr_info * string
|
FloatingLiteral of stmt_info * stmt list * expr_info * string
|
ConstantExpr of stmt_info * stmt list * expr_info
|
ExprWithCleanups of stmt_info * stmt list * expr_info * expr_with_cleanups_info
|
FunctionParmPackExpr of stmt_info * stmt list * expr_info
|
GNUNullExpr of stmt_info * stmt list * expr_info
|
GenericSelectionExpr of stmt_info * stmt list * expr_info * generic_selection_info
|
ImaginaryLiteral of stmt_info * stmt list * expr_info
|
ImplicitValueInitExpr of stmt_info * stmt list * expr_info
|
InitListExpr of stmt_info * stmt list * expr_info
|
IntegerLiteral of stmt_info * stmt list * expr_info * integer_literal_info
|
LambdaExpr of stmt_info * stmt list * expr_info * lambda_expr_info
|
MSPropertyRefExpr of stmt_info * stmt list * expr_info
|
MSPropertySubscriptExpr of stmt_info * stmt list * expr_info
|
MaterializeTemporaryExpr of stmt_info * stmt list * expr_info * materialize_temporary_expr_info
|
MatrixSubscriptExpr of stmt_info * stmt list * expr_info
|
MemberExpr of stmt_info * stmt list * expr_info * member_expr_info
|
NoInitExpr of stmt_info * stmt list * expr_info
|
OMPArraySectionExpr of stmt_info * stmt list * expr_info
|
OMPArrayShapingExpr of stmt_info * stmt list * expr_info
|
OMPIteratorExpr of stmt_info * stmt list * expr_info
|
ObjCArrayLiteral of stmt_info * stmt list * expr_info * obj_c_array_literal_expr_info
|
ObjCAvailabilityCheckExpr of stmt_info * stmt list * expr_info * obj_c_availability_check_expr_info
|
ObjCBoolLiteralExpr of stmt_info * stmt list * expr_info * int
|
ObjCBoxedExpr of stmt_info * stmt list * expr_info * objc_boxed_expr_info
|
ObjCDictionaryLiteral of stmt_info * stmt list * expr_info * obj_c_dictionary_literal_expr_info
|
ObjCEncodeExpr of stmt_info * stmt list * expr_info * objc_encode_expr_info
|
ObjCIndirectCopyRestoreExpr of stmt_info * stmt list * expr_info
|
ObjCIsaExpr of stmt_info * stmt list * expr_info
|
ObjCIvarRefExpr of stmt_info * stmt list * expr_info * obj_c_ivar_ref_expr_info
|
ObjCMessageExpr of stmt_info * stmt list * expr_info * obj_c_message_expr_info
|
ObjCPropertyRefExpr of stmt_info * stmt list * expr_info * obj_c_property_ref_expr_info
|
ObjCProtocolExpr of stmt_info * stmt list * expr_info * decl_ref
|
ObjCSelectorExpr of stmt_info * stmt list * expr_info * selector
|
ObjCStringLiteral of stmt_info * stmt list * expr_info
|
ObjCSubscriptRefExpr of stmt_info * stmt list * expr_info * obj_c_subscript_ref_expr_info
|
OffsetOfExpr of stmt_info * stmt list * expr_info * offset_of_expr_info
|
OpaqueValueExpr of stmt_info * stmt list * expr_info * opaque_value_expr_info
|
UnresolvedLookupExpr of stmt_info * stmt list * expr_info * overload_expr_info * unresolved_lookup_expr_info
|
UnresolvedMemberExpr of stmt_info * stmt list * expr_info * overload_expr_info
|
PackExpansionExpr of stmt_info * stmt list * expr_info
|
ParenExpr of stmt_info * stmt list * expr_info
|
ParenListExpr of stmt_info * stmt list * expr_info
|
PredefinedExpr of stmt_info * stmt list * expr_info * predefined_expr_type
|
PseudoObjectExpr of stmt_info * stmt list * expr_info
|
RecoveryExpr of stmt_info * stmt list * expr_info
|
RequiresExpr of stmt_info * stmt list * expr_info
|
ShuffleVectorExpr of stmt_info * stmt list * expr_info
|
SizeOfPackExpr of stmt_info * stmt list * expr_info
|
SourceLocExpr of stmt_info * stmt list * expr_info
|
StmtExpr of stmt_info * stmt list * expr_info
|
StringLiteral of stmt_info * stmt list * expr_info * string list
|
SubstNonTypeTemplateParmExpr of stmt_info * stmt list * expr_info
|
SubstNonTypeTemplateParmPackExpr of stmt_info * stmt list * expr_info
|
TypeTraitExpr of stmt_info * stmt list * expr_info * type_trait_info
|
TypoExpr of stmt_info * stmt list * expr_info
|
UnaryExprOrTypeTraitExpr of stmt_info * stmt list * expr_info * unary_expr_or_type_trait_expr_info
|
UnaryOperator of stmt_info * stmt list * expr_info * unary_operator_info
|
VAArgExpr of stmt_info * stmt list * expr_info
|
LabelStmt of stmt_info * stmt list * string
|
WhileStmt of stmt_info * stmt list
and switch_stmt_info
=
{
ssi_init : pointer option;
ssi_cond_var : stmt option;
ssi_cond : pointer;
ssi_body : pointer;
}
and template_decl_info
=
{
tdi_specializations : decl list;
}
and var_decl_info
=
{
vdi_is_global : bool;
vdi_is_extern : bool;
vdi_is_static : bool;
vdi_is_static_local : bool;
vdi_is_static_data_member : bool;
vdi_is_constexpr : bool;
vdi_is_init_ice : bool;
vdi_init_expr : stmt option;
vdi_is_init_expr_cxx11_constant : bool;
vdi_parm_index_in_function : int option;
}
type lookup
=
{
lup_decl_name : string;
lup_decl_refs : decl_ref list;
}
type lookups
=
{
lups_decl_ref : decl_ref;
lups_primary_context_pointer : pointer option;
lups_lookups : lookup list;
lups_has_undeserialized_decls : bool;
}