ATDGenerated.Clang_ast_v
type access_specifier = Clang_ast_t.access_specifier
type atomic_expr_kind = Clang_ast_t.atomic_expr_kind
type attribute_kind = Clang_ast_t.attribute_kind =
| AddressSpaceAttrKind
| AllocatingAttrKind
| AnnotateTypeAttrKind
| ArmInAttrKind
| ArmInOutAttrKind
| ArmMveStrictPolymorphismAttrKind
| ArmOutAttrKind
| ArmPreservesAttrKind
| ArmStreamingAttrKind
| ArmStreamingCompatibleAttrKind
| BTFTypeTagAttrKind
| BlockingAttrKind
| CmseNSCallAttrKind
| HLSLParamModifierAttrKind
| NoDerefAttrKind
| NonAllocatingAttrKind
| NonBlockingAttrKind
| ObjCGCAttrKind
| ObjCInertUnsafeUnretainedAttrKind
| ObjCKindOfAttrKind
| OpenCLConstantAddressSpaceAttrKind
| OpenCLGenericAddressSpaceAttrKind
| OpenCLGlobalAddressSpaceAttrKind
| OpenCLGlobalDeviceAddressSpaceAttrKind
| OpenCLGlobalHostAddressSpaceAttrKind
| OpenCLLocalAddressSpaceAttrKind
| OpenCLPrivateAddressSpaceAttrKind
| Ptr32AttrKind
| Ptr64AttrKind
| SPtrAttrKind
| TypeNonNullAttrKind
| TypeNullUnspecifiedAttrKind
| TypeNullableResultAttrKind
| UPtrAttrKind
| WebAssemblyFuncrefAttrKind
| CXXAssumeAttrKind
| CodeAlignAttrKind
| FallThroughAttrKind
| HLSLLoopHintAttrKind
| LikelyAttrKind
| MustTailAttrKind
| OpenCLUnrollHintAttrKind
| UnlikelyAttrKind
| AlwaysInlineAttrKind
| NoInlineAttrKind
| NoMergeAttrKind
| SuppressAttrKind
| AArch64SVEPcsAttrKind
| AArch64VectorPcsAttrKind
| AMDGPUKernelCallAttrKind
| AcquireHandleAttrKind
| AnyX86NoCfCheckAttrKind
| CDeclAttrKind
| CountedByAttrKind
| CountedByOrNullAttrKind
| FastCallAttrKind
| IntelOclBiccAttrKind
| LifetimeBoundAttrKind
| M68kRTDAttrKind
| MSABIAttrKind
| NSReturnsRetainedAttrKind
| ObjCOwnershipAttrKind
| PascalAttrKind
| PcsAttrKind
| PreserveAllAttrKind
| PreserveMostAttrKind
| PreserveNoneAttrKind
| RISCVVectorCCAttrKind
| RegCallAttrKind
| SizedByAttrKind
| SizedByOrNullAttrKind
| StdCallAttrKind
| SwiftAsyncCallAttrKind
| SwiftCallAttrKind
| SysVABIAttrKind
| ThisCallAttrKind
| TypeNullableAttrKind
| VectorCallAttrKind
| SwiftAsyncContextAttrKind
| SwiftContextAttrKind
| SwiftErrorResultAttrKind
| SwiftIndirectResultAttrKind
| AnnotateAttrKind
| CFConsumedAttrKind
| CarriesDependencyAttrKind
| NSConsumedAttrKind
| NonNullAttrKind
| OSConsumedAttrKind
| PassObjectSizeAttrKind
| ReleaseHandleAttrKind
| UseHandleAttrKind
| HLSLPackOffsetAttrKind
| HLSLSV_DispatchThreadIDAttrKind
| HLSLSV_GroupIndexAttrKind
| AMDGPUFlatWorkGroupSizeAttrKind
| AMDGPUMaxNumWorkGroupsAttrKind
| AMDGPUNumSGPRAttrKind
| AMDGPUNumVGPRAttrKind
| AMDGPUWavesPerEUAttrKind
| ARMInterruptAttrKind
| AVRInterruptAttrKind
| AVRSignalAttrKind
| AcquireCapabilityAttrKind
| AcquiredAfterAttrKind
| AcquiredBeforeAttrKind
| AlignMac68kAttrKind
| AlignNaturalAttrKind
| AlignedAttrKind
| AllocAlignAttrKind
| AllocSizeAttrKind
| AlwaysDestroyAttrKind
| AnalyzerNoReturnAttrKind
| AnyX86InterruptAttrKind
| AnyX86NoCallerSavedRegistersAttrKind
| ArgumentWithTypeTagAttrKind
| ArmBuiltinAliasAttrKind
| ArmLocallyStreamingAttrKind
| ArmNewAttrKind
| ArtificialAttrKind
| AsmLabelAttrKind
| AssertCapabilityAttrKind
| AssertExclusiveLockAttrKind
| AssumeAlignedAttrKind
| AvailabilityAttrKind
| AvailableOnlyInDefaultEvalMethodAttrKind
| BPFPreserveAccessIndexAttrKind
| BPFPreserveStaticOffsetAttrKind
| BTFDeclTagAttrKind
| BlocksAttrKind
| BuiltinAttrKind
| C11NoReturnAttrKind
| CFAuditedTransferAttrKind
| CFGuardAttrKind
| CFICanonicalJumpTableAttrKind
| CFReturnsNotRetainedAttrKind
| CFReturnsRetainedAttrKind
| CFUnknownTransferAttrKind
| CPUDispatchAttrKind
| CPUSpecificAttrKind
| CUDAConstantAttrKind
| CUDADeviceAttrKind
| CUDADeviceBuiltinSurfaceTypeAttrKind
| CUDADeviceBuiltinTextureTypeAttrKind
| CUDAGlobalAttrKind
| CUDAHostAttrKind
| CUDAInvalidTargetAttrKind
| CUDALaunchBoundsAttrKind
| CXX11NoReturnAttrKind
| CallableWhenAttrKind
| CallbackAttrKind
| CapabilityAttrKind
| CapturedRecordAttrKind
| CleanupAttrKind
| ClspvLibclcBuiltinAttrKind
| CmseNSEntryAttrKind
| CodeModelAttrKind
| CodeSegAttrKind
| ColdAttrKind
| CommonAttrKind
| ConstAttrKind
| ConstInitAttrKind
| ConstructorAttrKind
| ConsumableAttrKind
| ConsumableAutoCastAttrKind
| ConsumableSetOnReadAttrKind
| ConvergentAttrKind
| CoroDisableLifetimeBoundAttrKind
| CoroLifetimeBoundAttrKind
| CoroOnlyDestroyWhenCompleteAttrKind
| CoroReturnTypeAttrKind
| CoroWrapperAttrKind
| DLLExportAttrKind
| DLLExportStaticLocalAttrKind
| DLLImportAttrKind
| DLLImportStaticLocalAttrKind
| DeprecatedAttrKind
| DestructorAttrKind
| DiagnoseAsBuiltinAttrKind
| DiagnoseIfAttrKind
| DisableSanitizerInstrumentationAttrKind
| DisableTailCallsAttrKind
| EmptyBasesAttrKind
| EnableIfAttrKind
| EnforceTCBAttrKind
| EnforceTCBLeafAttrKind
| EnumExtensibilityAttrKind
| ErrorAttrKind
| ExcludeFromExplicitInstantiationAttrKind
| ExclusiveTrylockFunctionAttrKind
| ExternalSourceSymbolAttrKind
| FinalAttrKind
| FlagEnumAttrKind
| FlattenAttrKind
| FormatAttrKind
| FormatArgAttrKind
| FunctionReturnThunksAttrKind
| GNUInlineAttrKind
| GuardedByAttrKind
| GuardedVarAttrKind
| HIPManagedAttrKind
| HLSLNumThreadsAttrKind
| HLSLResourceAttrKind
| HLSLResourceBindingAttrKind
| HLSLResourceClassAttrKind
| HLSLShaderAttrKind
| HotAttrKind
| HybridPatchableAttrKind
| IBActionAttrKind
| IBOutletAttrKind
| IBOutletCollectionAttrKind
| InitPriorityAttrKind
| InternalLinkageAttrKind
| LTOVisibilityPublicAttrKind
| LayoutVersionAttrKind
| LeafAttrKind
| LockReturnedAttrKind
| LocksExcludedAttrKind
| M68kInterruptAttrKind
| MIGServerRoutineAttrKind
| MSAllocatorAttrKind
| MSConstexprAttrKind
| MSInheritanceAttrKind
| MSNoVTableAttrKind
| MSP430InterruptAttrKind
| MSStructAttrKind
| MSVtorDispAttrKind
| MaxFieldAlignmentAttrKind
| MayAliasAttrKind
| MaybeUndefAttrKind
| MicroMipsAttrKind
| MinSizeAttrKind
| MinVectorWidthAttrKind
| Mips16AttrKind
| MipsInterruptAttrKind
| MipsLongCallAttrKind
| MipsShortCallAttrKind
| NSConsumesSelfAttrKind
| NSErrorDomainAttrKind
| NSReturnsAutoreleasedAttrKind
| NSReturnsNotRetainedAttrKind
| NVPTXKernelAttrKind
| NakedAttrKind
| NoAliasAttrKind
| NoCommonAttrKind
| NoDebugAttrKind
| NoDestroyAttrKind
| NoDuplicateAttrKind
| NoInstrumentFunctionAttrKind
| NoMicroMipsAttrKind
| NoMips16AttrKind
| NoProfileFunctionAttrKind
| NoRandomizeLayoutAttrKind
| NoReturnAttrKind
| NoSanitizeAttrKind
| NoSpeculativeLoadHardeningAttrKind
| NoSplitStackAttrKind
| NoStackProtectorAttrKind
| NoThreadSafetyAnalysisAttrKind
| NoThrowAttrKind
| NoUniqueAddressAttrKind
| NoUwtableAttrKind
| NotTailCalledAttrKind
| OMPAllocateDeclAttrKind
| OMPAssumeAttrKind
| OMPCaptureNoInitAttrKind
| OMPDeclareTargetDeclAttrKind
| OMPDeclareVariantAttrKind
| OMPThreadPrivateDeclAttrKind
| OSConsumesThisAttrKind
| OSReturnsNotRetainedAttrKind
| OSReturnsRetainedAttrKind
| OSReturnsRetainedOnNonZeroAttrKind
| OSReturnsRetainedOnZeroAttrKind
| ObjCBridgeAttrKind
| ObjCBridgeMutableAttrKind
| ObjCBridgeRelatedAttrKind
| ObjCExceptionAttrKind
| ObjCExplicitProtocolImplAttrKind
| ObjCExternallyRetainedAttrKind
| ObjCIndependentClassAttrKind
| ObjCMethodFamilyAttrKind
| ObjCNSObjectAttrKind
| ObjCPreciseLifetimeAttrKind
| ObjCRequiresPropertyDefsAttrKind
| ObjCRequiresSuperAttrKind
| ObjCReturnsInnerPointerAttrKind
| ObjCRootClassAttrKind
| ObjCSubclassingRestrictedAttrKind
| OpenCLIntelReqdSubGroupSizeAttrKind
| OpenCLKernelAttrKind
| OptimizeNoneAttrKind
| OverrideAttrKind
| OwnerAttrKind
| OwnershipAttrKind
| PackedAttrKind
| ParamTypestateAttrKind
| PatchableFunctionEntryAttrKind
| PointerAttrKind
| PragmaClangBSSSectionAttrKind
| PragmaClangDataSectionAttrKind
| PragmaClangRelroSectionAttrKind
| PragmaClangRodataSectionAttrKind
| PragmaClangTextSectionAttrKind
| PreferredNameAttrKind
| PreferredTypeAttrKind
| PtGuardedByAttrKind
| PtGuardedVarAttrKind
| PureAttrKind
| RISCVInterruptAttrKind
| RandomizeLayoutAttrKind
| ReadOnlyPlacementAttrKind
| ReinitializesAttrKind
| ReleaseCapabilityAttrKind
| ReqdWorkGroupSizeAttrKind
| RequiresCapabilityAttrKind
| RestrictAttrKind
| RetainAttrKind
| ReturnTypestateAttrKind
| ReturnsNonNullAttrKind
| ReturnsTwiceAttrKind
| SYCLKernelAttrKind
| SYCLSpecialClassAttrKind
| ScopedLockableAttrKind
| SectionAttrKind
| SelectAnyAttrKind
| SentinelAttrKind
| SetTypestateAttrKind
| SpeculativeLoadHardeningAttrKind
| StandaloneDebugAttrKind
| StrictFPAttrKind
| StrictGuardStackCheckAttrKind
| SwiftAsyncAttrKind
| SwiftAsyncErrorAttrKind
| SwiftAsyncNameAttrKind
| SwiftAttrAttrKind
| SwiftBridgeAttrKind
| SwiftBridgedTypedefAttrKind
| SwiftErrorAttrKind
| SwiftImportAsNonGenericAttrKind
| SwiftImportPropertyAsAccessorsAttrKind
| SwiftNameAttrKind
| SwiftNewTypeAttrKind
| SwiftPrivateAttrKind
| TLSModelAttrKind
| TargetAttrKind
| TargetClonesAttrKind
| TargetVersionAttrKind
| TestTypestateAttrKind
| TransparentUnionAttrKind
| TrivialABIAttrKind
| TryAcquireCapabilityAttrKind
| TypeTagForDatatypeAttrKind
| TypeVisibilityAttrKind
| UninitializedAttrKind
| UnsafeBufferUsageAttrKind
| UnusedAttrKind
| UsedAttrKind
| UsingIfExistsAttrKind
| UuidAttrKind
| VTablePointerAuthenticationAttrKind
| VecReturnAttrKind
| VecTypeHintAttrKind
| VisibilityAttrKind
| WarnUnusedAttrKind
| WarnUnusedResultAttrKind
| WeakAttrKind
| WeakImportAttrKind
| WeakRefAttrKind
| WebAssemblyExportNameAttrKind
| WebAssemblyImportModuleAttrKind
| WebAssemblyImportNameAttrKind
| WorkGroupSizeHintAttrKind
| X86ForceAlignArgPointerAttrKind
| XRayInstrumentAttrKind
| XRayLogArgsAttrKind
| ZeroCallUsedRegsAttrKind
| AbiTagAttrKind
| AliasAttrKind
| AlignValueAttrKind
| BuiltinAliasAttrKind
| CalledOnceAttrKind
| IFuncAttrKind
| InitSegAttrKind
| LoaderUninitializedAttrKind
| LoopHintAttrKind
| ModeAttrKind
| NoBuiltinAttrKind
| NoEscapeAttrKind
| OMPCaptureKindAttrKind
| OMPDeclareSimdDeclAttrKind
| OMPReferencedVarAttrKind
| ObjCBoxableAttrKind
| ObjCClassStubAttrKind
| ObjCDesignatedInitializerAttrKind
| ObjCDirectAttrKind
| ObjCDirectMembersAttrKind
| ObjCNonLazyClassAttrKind
| ObjCNonRuntimeProtocolAttrKind
| ObjCRuntimeNameAttrKind
| ObjCRuntimeVisibleAttrKind
| OpenCLAccessAttrKind
| OverloadableAttrKind
| RenderScriptKernelAttrKind
| SwiftObjCMembersAttrKind
| SwiftVersionedAdditionAttrKind
| SwiftVersionedRemovalAttrKind
| ThreadAttrKind
type binary_operator_kind = Clang_ast_t.binary_operator_kind
type builtin_type_kind = Clang_ast_t.builtin_type_kind
type cast_kind = Clang_ast_t.cast_kind
type cast_expr_info = Clang_ast_t.cast_expr_info = {
cei_cast_kind : cast_kind;
cei_base_path : cxx_base_specifier list;
}
type decl_kind = Clang_ast_t.decl_kind
type declaration_name_kind = Clang_ast_t.declaration_name_kind
type declaration_name = Clang_ast_t.declaration_name = {
dn_kind : declaration_name_kind;
dn_name : string;
}
type enum_decl_scope = Clang_ast_t.enum_decl_scope
type enum_decl_info = Clang_ast_t.enum_decl_info = {
edi_scope : enum_decl_scope option;
edi_is_module_private : bool;
}
type input_kind = Clang_ast_t.input_kind
type integer_type_widths = Clang_ast_t.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 = Clang_ast_t.lambda_capture_kind
type obj_c_access_control = Clang_ast_t.obj_c_access_control
type obj_c_bridge_cast_kind = Clang_ast_t.obj_c_bridge_cast_kind
type obj_c_bridged_cast_expr_info = Clang_ast_t.obj_c_bridged_cast_expr_info = {
obcei_cast_kind : obj_c_bridge_cast_kind;
}
type obj_c_ivar_decl_info = Clang_ast_t.obj_c_ivar_decl_info = {
ovdi_is_synthesize : bool;
ovdi_access_control : obj_c_access_control;
}
type obj_c_property_control = Clang_ast_t.obj_c_property_control
type obj_c_subscript_kind = Clang_ast_t.obj_c_subscript_kind
type objc_lifetime_attr = Clang_ast_t.objc_lifetime_attr
type attr_type_info = Clang_ast_t.attr_type_info = {
ati_attr_kind : attribute_kind;
ati_lifetime : objc_lifetime_attr;
}
type object_kind = Clang_ast_t.object_kind
type offset_of_expr_info = Clang_ast_t.offset_of_expr_info = {
ooe_literal : integer_literal_info option;
}
type pointer = Clang_ast_t.pointer
type addr_label_expr_info = Clang_ast_t.addr_label_expr_info = {
alei_label : string;
alei_pointer : pointer;
}
type cxx_new_expr_info = Clang_ast_t.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 = Clang_ast_t.cxx_temporary
type cxx_bind_temporary_expr_info = Clang_ast_t.cxx_bind_temporary_expr_info = {
xbtei_cxx_temporary : cxx_temporary;
}
type obj_c_array_literal_expr_info = Clang_ast_t.obj_c_array_literal_expr_info =
{
oalei_array_method : pointer option;
}
type obj_c_dictionary_literal_expr_info =
Clang_ast_t.obj_c_dictionary_literal_expr_info =
{
odlei_dict_method : pointer option;
}
type predefined_expr_type = Clang_ast_t.predefined_expr_type
type property_attribute = Clang_ast_t.property_attribute
type property_implementation = Clang_ast_t.property_implementation
type record_decl_info = Clang_ast_t.record_decl_info = {
rdi_definition_ptr : pointer;
rdi_is_module_private : bool;
rdi_is_complete_definition : bool;
rdi_is_dependent_type : bool;
}
type selector = Clang_ast_t.selector
type obj_c_subscript_ref_expr_info = Clang_ast_t.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 = Clang_ast_t.objc_boxed_expr_info = {
obei_boxing_method : selector option;
}
type source_file = Clang_ast_t.source_file
type source_location = Clang_ast_t.source_location = {
mutable sl_file : source_file option;
mutable sl_line : int option;
mutable sl_column : int option;
sl_is_macro : bool;
mutable sl_macro_file : source_file option;
mutable sl_macro_line : int option;
}
type source_range = Clang_ast_t.source_range
type attribute_info = Clang_ast_t.attribute_info = {
ai_pointer : pointer;
ai_source_range : source_range;
}
type attr_tuple = Clang_ast_t.attr_tuple
type comment_info = Clang_ast_t.comment_info = {
ci_parent_pointer : pointer;
ci_source_range : source_range;
}
type specifier_kind = Clang_ast_t.specifier_kind
type tag_kind = Clang_ast_t.tag_kind
type type_ptr = Clang_ast_t.type_ptr
type qual_type = Clang_ast_t.qual_type = {
qt_type_ptr : type_ptr;
qt_is_const : bool;
qt_is_restrict : bool;
qt_is_volatile : bool;
}
type array_type_info = Clang_ast_t.array_type_info = {
arti_element_type : qual_type;
arti_stride : int option;
}
type cxx_delete_expr_info = Clang_ast_t.cxx_delete_expr_info = {
xdei_is_array : bool;
xdei_destroyed_type : qual_type;
}
type decl_ref = Clang_ast_t.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 = Clang_ast_t.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 = Clang_ast_t.cxx_ctor_initializer_subject
type expr_with_cleanups_info = Clang_ast_t.expr_with_cleanups_info = {
ewci_decl_refs : decl_ref list;
}
type materialize_temporary_expr_info =
Clang_ast_t.materialize_temporary_expr_info =
{
mtei_decl_ref : decl_ref option;
}
type member_expr_info = Clang_ast_t.member_expr_info = {
mei_is_arrow : bool;
mei_performs_virtual_dispatch : bool;
mei_name : named_decl_info;
mei_decl_ref : decl_ref;
}
type nested_name_specifier_loc = Clang_ast_t.nested_name_specifier_loc = {
nnsl_kind : specifier_kind;
nnsl_ref : decl_ref option;
}
type namespace_alias_decl_info = Clang_ast_t.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 = Clang_ast_t.obj_c_category_decl_info = {
odi_class_interface : decl_ref option;
odi_implementation : decl_ref option;
odi_protocols : decl_ref list;
}
type obj_c_compatible_alias_decl_info =
Clang_ast_t.obj_c_compatible_alias_decl_info =
{
ocadi_class_interface : decl_ref option;
}
type obj_c_interface_decl_info = Clang_ast_t.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_property_decl_info = Clang_ast_t.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 = Clang_ast_t.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 = Clang_ast_t.obj_c_protocol_decl_info = {
opcdi_protocols : decl_ref list;
}
type objc_encode_expr_info = Clang_ast_t.objc_encode_expr_info = {
oeei_qual_type : qual_type;
oeei_raw : string;
}
type overload_expr_info = Clang_ast_t.overload_expr_info = {
oei_decls : decl_ref list;
oei_name : declaration_name;
}
type property_ref_kind = Clang_ast_t.property_ref_kind
type obj_c_property_ref_expr_info = Clang_ast_t.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 = Clang_ast_t.receiver_kind
type obj_c_message_expr_info = Clang_ast_t.obj_c_message_expr_info = {
omei_selector : string;
omei_is_definition_found : bool;
omei_decl_pointer : pointer option;
omei_receiver_kind : receiver_kind;
}
type c_type = Clang_ast_t.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
| ArrayParameterType 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
| BTFTagAttributedType of type_info
| BitIntType of type_info
| BlockPointerType of type_info * qual_type
| CountAttributedType of type_info
| 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
| DependentBitIntType of type_info
| DependentNameType of type_info
| DependentSizedExtVectorType of type_info
| DependentTemplateSpecializationType of type_info
| DependentVectorType of type_info
| ElaboratedType 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
| PackIndexingType 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
| UsingType of type_info
| VectorType of type_info
| ExtVectorType of type_info
type translation_unit_decl_info = Clang_ast_t.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 = Clang_ast_t.unary_expr_or_type_trait_kind
type unary_expr_or_type_trait_expr_info =
Clang_ast_t.unary_expr_or_type_trait_expr_info =
{
uttei_kind : unary_expr_or_type_trait_kind;
uttei_qual_type : qual_type;
}
type unary_operator_kind = Clang_ast_t.unary_operator_kind
type unary_operator_info = Clang_ast_t.unary_operator_info = {
uoi_kind : unary_operator_kind;
uoi_is_postfix : bool;
}
type unresolved_lookup_expr_info = Clang_ast_t.unresolved_lookup_expr_info = {
ulei_requires_ADL : bool;
ulei_naming_class : decl_ref option;
}
type using_directive_decl_info = Clang_ast_t.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 = Clang_ast_t.value_kind
type expr_info = Clang_ast_t.expr_info = {
ei_qual_type : qual_type;
ei_value_kind : value_kind;
ei_object_kind : object_kind;
}
type availability_attr_info = Clang_ast_t.availability_attr_info = {
aai_platform : string option;
aai_introduced : version_tuple;
}
type visibility_attr = Clang_ast_t.visibility_attr =
type attribute = Clang_ast_t.attribute
type template_instantiation_arg_info =
Clang_ast_t.template_instantiation_arg_info
type comment = Clang_ast_t.comment =
| VerbatimBlockLineComment of comment_info * comment list
| TextComment of comment_info * comment list
| InlineCommandComment of comment_info * comment list
| HTMLStartTagComment of comment_info * comment list
| HTMLEndTagComment of comment_info * comment list
| FullComment of comment_info * comment list
| ParagraphComment of comment_info * comment list
| BlockCommandComment of comment_info * comment list
| VerbatimLineComment of comment_info * comment list
| VerbatimBlockComment of comment_info * comment list
| TParamCommandComment of comment_info * comment list
| ParamCommandComment of comment_info * comment list
type template_specialization_info = Clang_ast_t.template_specialization_info = {
tsi_template_decl : pointer;
tsi_specialization_args : template_instantiation_arg_info list;
}
type decl_info = Clang_ast_t.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 binding_decl_info = Clang_ast_t.binding_decl_info = {
binding_var : var_decl_info option;
bound_decl_type : qual_type option;
}
and block_captured_variable = Clang_ast_t.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 = Clang_ast_t.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_ctor_initializer = Clang_ast_t.cxx_ctor_initializer = {
xci_subject : cxx_ctor_initializer_subject;
xci_source_range : source_range;
xci_init_expr : stmt option;
}
and cxx_method_decl_info = Clang_ast_t.cxx_method_decl_info = {
xmdi_is_virtual : bool;
xmdi_is_static : bool;
xmdi_is_const : bool;
xmdi_is_copy_assignment : bool;
xmdi_is_copy_constructor : bool;
xmdi_is_move_constructor : bool;
xmdi_cxx_ctor_initializers : cxx_ctor_initializer list;
xmdi_overriden_methods : decl_ref list;
}
and cxx_record_decl_info = Clang_ast_t.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_is_trivially_copyable : bool;
xrdi_destructor : decl_ref option;
xrdi_lambda_call_operator : decl_ref option;
xrdi_lambda_captures : lambda_capture_info list;
}
and decl = Clang_ast_t.decl =
| TranslationUnitDecl of decl_info
* decl list
* decl_context_info
* translation_unit_decl_info
| TopLevelStmtDecl of decl_info
| RequiresExprBodyDecl of decl_info
| LinkageSpecDecl of decl_info * decl list * decl_context_info
| ExternCContextDecl of decl_info
| ExportDecl of decl_info
| CapturedDecl of decl_info * decl list * decl_context_info
| BlockDecl of decl_info * block_decl_info
| StaticAssertDecl of decl_info
| PragmaDetectMismatchDecl of decl_info
| PragmaCommentDecl of decl_info
| ObjCPropertyImplDecl of decl_info * obj_c_property_impl_decl_info
| OMPThreadPrivateDecl of decl_info
| OMPRequiresDecl of decl_info
| OMPAllocateDecl of decl_info
| ObjCMethodDecl of decl_info * named_decl_info * obj_c_method_decl_info
| ObjCProtocolDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_protocol_decl_info
| ObjCInterfaceDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_interface_decl_info
| ObjCImplementationDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_implementation_decl_info
| ObjCCategoryImplDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_category_impl_decl_info
| ObjCCategoryDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* obj_c_category_decl_info
| NamespaceDecl of decl_info
* named_decl_info
* decl list
* decl_context_info
* namespace_decl_info
| HLSLBufferDecl of decl_info * named_decl_info
| OMPDeclareReductionDecl of decl_info * named_decl_info * qual_type
| OMPDeclareMapperDecl of decl_info * named_decl_info * qual_type
| UnresolvedUsingValueDecl of decl_info * named_decl_info * qual_type
| UnnamedGlobalConstantDecl of decl_info * named_decl_info * qual_type
| TemplateParamObjectDecl of decl_info * named_decl_info * qual_type
| MSGuidDecl of decl_info * named_decl_info * qual_type
| IndirectFieldDecl of decl_info * named_decl_info * qual_type * decl_ref list
| EnumConstantDecl of decl_info
* named_decl_info
* qual_type
* enum_constant_decl_info
| FunctionDecl of decl_info * named_decl_info * qual_type * function_decl_info
| CXXMethodDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXDestructorDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXConversionDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXConstructorDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
* cxx_method_decl_info
| CXXDeductionGuideDecl of decl_info
* named_decl_info
* qual_type
* function_decl_info
| VarDecl of decl_info * named_decl_info * qual_type * var_decl_info
| VarTemplateSpecializationDecl of template_instantiation_arg_info list
* decl_info
* named_decl_info
* qual_type
* var_decl_info
| VarTemplatePartialSpecializationDecl of template_instantiation_arg_info list
* decl_info
* named_decl_info
* qual_type
* var_decl_info
| ParmVarDecl of decl_info * named_decl_info * qual_type * var_decl_info
| OMPCapturedExprDecl of decl_info * named_decl_info * qual_type * var_decl_info
| ImplicitParamDecl of decl_info * named_decl_info * qual_type * var_decl_info
| DecompositionDecl of decl_info
* named_decl_info
* qual_type
* var_decl_info
* decl list
| NonTypeTemplateParmDecl of decl_info * named_decl_info * qual_type
| MSPropertyDecl of decl_info * named_decl_info * qual_type
| FieldDecl of decl_info * named_decl_info * qual_type * field_decl_info
| ObjCIvarDecl of decl_info
* named_decl_info
* qual_type
* field_decl_info
* obj_c_ivar_decl_info
| ObjCAtDefsFieldDecl of decl_info
* named_decl_info
* qual_type
* field_decl_info
| BindingDecl of decl_info * named_decl_info * qual_type * binding_decl_info
| UsingShadowDecl of decl_info * named_decl_info
| ConstructorUsingShadowDecl of decl_info * named_decl_info
| UsingPackDecl of decl_info * named_decl_info
| UsingDirectiveDecl of decl_info * named_decl_info * using_directive_decl_info
| UnresolvedUsingIfExistsDecl of decl_info * named_decl_info
| RecordDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
| CXXRecordDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
* cxx_record_decl_info
| ClassTemplateSpecializationDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
* cxx_record_decl_info
* string
* source_location
* template_specialization_info
| ClassTemplatePartialSpecializationDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* record_decl_info
* cxx_record_decl_info
* string
* source_location
* template_specialization_info
| EnumDecl of decl_info
* named_decl_info
* type_ptr
* decl list
* decl_context_info
* tag_kind
* enum_decl_info
| UnresolvedUsingTypenameDecl of decl_info * named_decl_info * type_ptr
| TypedefDecl of decl_info * named_decl_info * type_ptr * typedef_decl_info
| TypeAliasDecl of decl_info * named_decl_info * type_ptr
| ObjCTypeParamDecl of decl_info * named_decl_info * type_ptr
| TemplateTypeParmDecl of decl_info * named_decl_info * type_ptr
| TemplateTemplateParmDecl of decl_info * named_decl_info
| VarTemplateDecl of decl_info * named_decl_info
| TypeAliasTemplateDecl of decl_info * named_decl_info
| FunctionTemplateDecl of decl_info * named_decl_info * template_decl_info
| ClassTemplateDecl of decl_info * named_decl_info * template_decl_info
| ConceptDecl of decl_info * named_decl_info
| BuiltinTemplateDecl of decl_info * named_decl_info
| ObjCPropertyDecl of decl_info * named_decl_info * obj_c_property_decl_info
| ObjCCompatibleAliasDecl of decl_info
* named_decl_info
* obj_c_compatible_alias_decl_info
| NamespaceAliasDecl of decl_info * named_decl_info * namespace_alias_decl_info
| LabelDecl of decl_info * named_decl_info
| UsingEnumDecl of decl_info * named_decl_info
| UsingDecl of decl_info * named_decl_info
| LifetimeExtendedTemporaryDecl of decl_info
| ImportDecl of decl_info * string
| ImplicitConceptSpecializationDecl of decl_info
| FriendTemplateDecl of decl_info
| FriendDecl of decl_info * friend_info
| FileScopeAsmDecl of decl_info
| EmptyDecl of decl_info
| AccessSpecDecl of decl_info
and field_decl_info = Clang_ast_t.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 = Clang_ast_t.friend_info
and function_decl_info = Clang_ast_t.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_deleted : 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;
fdi_point_of_instantiation : source_location option;
}
and if_stmt_info = Clang_ast_t.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 = Clang_ast_t.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 obj_c_implementation_decl_info = Clang_ast_t.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 = Clang_ast_t.obj_c_message_expr_kind
and obj_c_method_decl_info = Clang_ast_t.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 stmt = Clang_ast_t.stmt =
| WhileStmt of stmt_info * stmt list
| LabelStmt of stmt_info * stmt list * string
| VAArgExpr of stmt_info * stmt list * expr_info
| UnaryOperator of stmt_info * stmt list * expr_info * unary_operator_info
| UnaryExprOrTypeTraitExpr of stmt_info
* stmt list
* expr_info
* unary_expr_or_type_trait_expr_info
| TypoExpr of stmt_info * stmt list * expr_info
| TypeTraitExpr of stmt_info * stmt list * expr_info * type_trait_info
| SubstNonTypeTemplateParmPackExpr of stmt_info * stmt list * expr_info
| SubstNonTypeTemplateParmExpr of stmt_info * stmt list * expr_info
| StringLiteral of stmt_info * stmt list * expr_info * string list
| StmtExpr of stmt_info * stmt list * expr_info
| SourceLocExpr of stmt_info * stmt list * expr_info
| SizeOfPackExpr of stmt_info * stmt list * expr_info
| ShuffleVectorExpr of stmt_info * stmt list * expr_info
| SYCLUniqueStableNameExpr of stmt_info * stmt list * expr_info
| RequiresExpr of stmt_info * stmt list * expr_info
| RecoveryExpr of stmt_info * stmt list * expr_info
| PseudoObjectExpr of stmt_info * stmt list * expr_info
| PredefinedExpr of stmt_info * stmt list * expr_info * predefined_expr_type
| ParenListExpr of stmt_info * stmt list * expr_info
| ParenExpr of stmt_info * stmt list * expr_info
| PackIndexingExpr of stmt_info * stmt list * expr_info
| PackExpansionExpr of stmt_info * stmt list * expr_info
| UnresolvedMemberExpr of stmt_info * stmt list * expr_info * overload_expr_info
| UnresolvedLookupExpr of stmt_info
* stmt list
* expr_info
* overload_expr_info
* unresolved_lookup_expr_info
| OpaqueValueExpr of stmt_info * stmt list * expr_info * opaque_value_expr_info
| OffsetOfExpr of stmt_info * stmt list * expr_info * offset_of_expr_info
| ObjCSubscriptRefExpr of stmt_info
* stmt list
* expr_info
* obj_c_subscript_ref_expr_info
| ObjCStringLiteral of stmt_info * stmt list * expr_info
| ObjCSelectorExpr of stmt_info * stmt list * expr_info * selector
| ObjCProtocolExpr of stmt_info * stmt list * expr_info * decl_ref
| ObjCPropertyRefExpr of stmt_info
* stmt list
* expr_info
* obj_c_property_ref_expr_info
| ObjCMessageExpr of stmt_info * stmt list * expr_info * obj_c_message_expr_info
| ObjCIvarRefExpr of stmt_info * stmt list * expr_info * obj_c_ivar_ref_expr_info
| ObjCIsaExpr of stmt_info * stmt list * expr_info
| ObjCIndirectCopyRestoreExpr of stmt_info * stmt list * expr_info
| ObjCEncodeExpr of stmt_info * stmt list * expr_info * objc_encode_expr_info
| ObjCDictionaryLiteral of stmt_info
* stmt list
* expr_info
* obj_c_dictionary_literal_expr_info
| ObjCBoxedExpr of stmt_info * stmt list * expr_info * objc_boxed_expr_info
| ObjCBoolLiteralExpr of stmt_info * stmt list * expr_info * int
| ObjCAvailabilityCheckExpr of stmt_info
* stmt list
* expr_info
* obj_c_availability_check_expr_info
| ObjCArrayLiteral of stmt_info
* stmt list
* expr_info
* obj_c_array_literal_expr_info
| OMPIteratorExpr of stmt_info * stmt list * expr_info
| OMPArrayShapingExpr of stmt_info * stmt list * expr_info
| NoInitExpr of stmt_info * stmt list * expr_info
| MemberExpr of stmt_info * stmt list * expr_info * member_expr_info
| MatrixSubscriptExpr of stmt_info * stmt list * expr_info
| MaterializeTemporaryExpr of stmt_info
* stmt list
* expr_info
* materialize_temporary_expr_info
| MSPropertySubscriptExpr of stmt_info * stmt list * expr_info
| MSPropertyRefExpr of stmt_info * stmt list * expr_info
| LambdaExpr of stmt_info * stmt list * expr_info * lambda_expr_info
| IntegerLiteral of stmt_info * stmt list * expr_info * integer_literal_info
| InitListExpr of stmt_info * stmt list * expr_info
| ImplicitValueInitExpr of stmt_info * stmt list * expr_info
| ImaginaryLiteral of stmt_info * stmt list * expr_info
| GenericSelectionExpr of stmt_info
* stmt list
* expr_info
* generic_selection_info
| GNUNullExpr of stmt_info * stmt list * expr_info
| FunctionParmPackExpr of stmt_info * stmt list * expr_info
| ExprWithCleanups of stmt_info * stmt list * expr_info * expr_with_cleanups_info
| ConstantExpr of stmt_info * stmt list * expr_info
| FloatingLiteral of stmt_info * stmt list * expr_info * string
| FixedPointLiteral of stmt_info * stmt list * expr_info * string
| ExtVectorElementExpr of stmt_info * stmt list * expr_info
| ExpressionTraitExpr of stmt_info * stmt list * expr_info
| EmbedExpr of stmt_info * stmt list * expr_info
| DesignatedInitUpdateExpr of stmt_info * stmt list * expr_info
| DesignatedInitExpr of stmt_info * stmt list * expr_info
| DependentScopeDeclRefExpr of stmt_info * stmt list * expr_info
| DependentCoawaitExpr of stmt_info * stmt list * expr_info
| DeclRefExpr of stmt_info * stmt list * expr_info * decl_ref_expr_info
| CoyieldExpr of stmt_info * stmt list * expr_info
| CoawaitExpr of stmt_info * stmt list * expr_info
| ConvertVectorExpr of stmt_info * stmt list * expr_info
| ConceptSpecializationExpr of stmt_info * stmt list * expr_info
| CompoundLiteralExpr of stmt_info * stmt list * expr_info
| ChooseExpr of stmt_info * stmt list * expr_info
| CharacterLiteral of stmt_info * stmt list * expr_info * int
| ImplicitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * bool
| ObjCBridgedCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* obj_c_bridged_cast_expr_info
| CXXStaticCastExpr 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
| CXXDynamicCastExpr 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
| CXXAddrspaceCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
* string
| CXXFunctionalCastExpr 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
| BuiltinBitCastExpr of stmt_info
* stmt list
* expr_info
* cast_expr_info
* qual_type
| CallExpr of stmt_info * stmt list * expr_info
| UserDefinedLiteral of stmt_info * stmt list * expr_info
| CXXOperatorCallExpr of stmt_info * stmt list * expr_info
| CXXMemberCallExpr of stmt_info * stmt list * expr_info
| CUDAKernelCallExpr of stmt_info * stmt list * expr_info
| CXXUuidofExpr of stmt_info * stmt list * expr_info
| CXXUnresolvedConstructExpr of stmt_info * stmt list * expr_info
| CXXTypeidExpr of stmt_info * stmt list * expr_info
| CXXThrowExpr of stmt_info * stmt list * expr_info
| CXXThisExpr of stmt_info * stmt list * expr_info
| CXXStdInitializerListExpr of stmt_info * stmt list * expr_info
| CXXScalarValueInitExpr of stmt_info * stmt list * expr_info
| CXXRewrittenBinaryOperator of stmt_info * stmt list * expr_info
| CXXPseudoDestructorExpr of stmt_info * stmt list * expr_info
| CXXParenListInitExpr of stmt_info * stmt list * expr_info
| CXXNullPtrLiteralExpr of stmt_info * stmt list * expr_info
| CXXNoexceptExpr of stmt_info * stmt list * expr_info * cxx_noexcept_expr_info
| CXXNewExpr of stmt_info * stmt list * expr_info * cxx_new_expr_info
| CXXInheritedCtorInitExpr of stmt_info
* stmt list
* expr_info
* cxx_construct_expr_info
| CXXFoldExpr of stmt_info * stmt list * expr_info
| CXXDependentScopeMemberExpr of stmt_info * stmt list * expr_info
| CXXDeleteExpr of stmt_info * stmt list * expr_info * cxx_delete_expr_info
| CXXDefaultInitExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
| CXXDefaultArgExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info
| CXXConstructExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info
| CXXTemporaryObjectExpr of stmt_info
* stmt list
* expr_info
* cxx_construct_expr_info
| CXXBoolLiteralExpr of stmt_info * stmt list * expr_info * int
| CXXBindTemporaryExpr of stmt_info
* stmt list
* expr_info
* cxx_bind_temporary_expr_info
| BlockExpr of stmt_info * stmt list * expr_info * decl
| 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
| AtomicExpr of stmt_info * stmt list * expr_info * atomic_expr_info
| AsTypeExpr of stmt_info * stmt list * expr_info
| ArrayTypeTraitExpr of stmt_info * stmt list * expr_info
| ArraySubscriptExpr of stmt_info * stmt list * expr_info
| ArraySectionExpr of stmt_info * stmt list * expr_info
| ArrayInitLoopExpr of stmt_info * stmt list * expr_info
| ArrayInitIndexExpr of stmt_info * stmt list * expr_info
| AddrLabelExpr of stmt_info * stmt list * expr_info * addr_label_expr_info
| ConditionalOperator of stmt_info * stmt list * expr_info
| BinaryConditionalOperator of stmt_info * stmt list * expr_info
| AttributedStmt of stmt_info * stmt list * attribute list
| SwitchStmt of stmt_info * stmt list * switch_stmt_info
| DefaultStmt of stmt_info * stmt list
| CaseStmt of stmt_info * stmt list
| SEHTryStmt of stmt_info * stmt list
| SEHLeaveStmt of stmt_info * stmt list
| SEHFinallyStmt of stmt_info * stmt list
| SEHExceptStmt of stmt_info * stmt list
| ReturnStmt of stmt_info * stmt list
| OpenACCLoopConstruct of stmt_info * stmt list
| OpenACCComputeConstruct of stmt_info * stmt list
| ObjCForCollectionStmt of stmt_info * stmt list
| ObjCAutoreleasePoolStmt of stmt_info * stmt list
| ObjCAtTryStmt of stmt_info * stmt list
| ObjCAtThrowStmt of stmt_info * stmt list
| ObjCAtSynchronizedStmt of stmt_info * stmt list
| ObjCAtFinallyStmt of stmt_info * stmt list
| ObjCAtCatchStmt of stmt_info * stmt list * obj_c_message_expr_kind
| OMPTeamsDirective of stmt_info * stmt list
| OMPTaskyieldDirective of stmt_info * stmt list
| OMPTaskwaitDirective of stmt_info * stmt list
| OMPTaskgroupDirective of stmt_info * stmt list
| OMPTaskDirective of stmt_info * stmt list
| OMPTargetUpdateDirective of stmt_info * stmt list
| OMPTargetTeamsDirective of stmt_info * stmt list
| OMPTargetParallelForDirective of stmt_info * stmt list
| OMPTargetParallelDirective of stmt_info * stmt list
| OMPTargetExitDataDirective of stmt_info * stmt list
| OMPTargetEnterDataDirective of stmt_info * stmt list
| OMPTargetDirective of stmt_info * stmt list
| OMPTargetDataDirective of stmt_info * stmt list
| OMPSingleDirective of stmt_info * stmt list
| OMPSectionsDirective of stmt_info * stmt list
| OMPSectionDirective of stmt_info * stmt list
| OMPScopeDirective of stmt_info * stmt list
| OMPScanDirective of stmt_info * stmt list
| OMPParallelSectionsDirective of stmt_info * stmt list
| OMPParallelMasterDirective of stmt_info * stmt list
| OMPParallelMaskedDirective of stmt_info * stmt list
| OMPParallelDirective of stmt_info * stmt list
| OMPOrderedDirective of stmt_info * stmt list
| OMPMetaDirective of stmt_info * stmt list
| OMPMasterDirective of stmt_info * stmt list
| OMPMaskedDirective of stmt_info * stmt list
| OMPUnrollDirective of stmt_info * stmt list
| OMPTileDirective of stmt_info * stmt list
| OMPReverseDirective of stmt_info * stmt list
| OMPInterchangeDirective of stmt_info * stmt list
| OMPTeamsGenericLoopDirective of stmt_info * stmt list
| OMPTeamsDistributeSimdDirective of stmt_info * stmt list
| OMPTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
| OMPTeamsDistributeParallelForDirective of stmt_info * stmt list
| OMPTeamsDistributeDirective of stmt_info * stmt list
| OMPTaskLoopSimdDirective of stmt_info * stmt list
| OMPTaskLoopDirective of stmt_info * stmt list
| OMPTargetTeamsGenericLoopDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeSimdDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeParallelForSimdDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeParallelForDirective of stmt_info * stmt list
| OMPTargetTeamsDistributeDirective of stmt_info * stmt list
| OMPTargetSimdDirective of stmt_info * stmt list
| OMPTargetParallelGenericLoopDirective of stmt_info * stmt list
| OMPTargetParallelForSimdDirective of stmt_info * stmt list
| OMPSimdDirective of stmt_info * stmt list
| OMPParallelMasterTaskLoopSimdDirective of stmt_info * stmt list
| OMPParallelMasterTaskLoopDirective of stmt_info * stmt list
| OMPParallelMaskedTaskLoopSimdDirective of stmt_info * stmt list
| OMPParallelMaskedTaskLoopDirective of stmt_info * stmt list
| OMPParallelGenericLoopDirective of stmt_info * stmt list
| OMPParallelForSimdDirective of stmt_info * stmt list
| OMPParallelForDirective of stmt_info * stmt list
| OMPMasterTaskLoopSimdDirective of stmt_info * stmt list
| OMPMasterTaskLoopDirective of stmt_info * stmt list
| OMPMaskedTaskLoopSimdDirective of stmt_info * stmt list
| OMPMaskedTaskLoopDirective of stmt_info * stmt list
| OMPGenericLoopDirective of stmt_info * stmt list
| OMPForSimdDirective of stmt_info * stmt list
| OMPForDirective of stmt_info * stmt list
| OMPDistributeSimdDirective of stmt_info * stmt list
| OMPDistributeParallelForSimdDirective of stmt_info * stmt list
| OMPDistributeParallelForDirective of stmt_info * stmt list
| OMPDistributeDirective of stmt_info * stmt list
| OMPInteropDirective of stmt_info * stmt list
| OMPFlushDirective of stmt_info * stmt list
| OMPErrorDirective of stmt_info * stmt list
| OMPDispatchDirective of stmt_info * stmt list
| OMPDepobjDirective of stmt_info * stmt list
| OMPCriticalDirective of stmt_info * stmt list
| OMPCancellationPointDirective of stmt_info * stmt list
| OMPCancelDirective of stmt_info * stmt list
| OMPBarrierDirective of stmt_info * stmt list
| OMPAtomicDirective of stmt_info * stmt list
| OMPCanonicalLoop of stmt_info * stmt list
| NullStmt of stmt_info * stmt list
| MSDependentExistsStmt of stmt_info * stmt list
| IndirectGotoStmt of stmt_info * stmt list
| IfStmt of stmt_info * stmt list * if_stmt_info
| GotoStmt of stmt_info * stmt list * goto_stmt_info
| ForStmt of stmt_info * stmt list
| DoStmt of stmt_info * stmt list
| DeclStmt of stmt_info * stmt list * decl list
| CoroutineBodyStmt of stmt_info * stmt list * coro_body_stmt_info
| CoreturnStmt of stmt_info * stmt list * coreturn_stmt_info
| ContinueStmt of stmt_info * stmt list
| CompoundStmt of stmt_info * stmt list
| CapturedStmt of stmt_info * stmt list
| CXXTryStmt of stmt_info * stmt list
| CXXForRangeStmt of stmt_info * stmt list
| CXXCatchStmt of stmt_info * stmt list * cxx_catch_stmt_info
| BreakStmt of stmt_info * stmt list
| MSAsmStmt of stmt_info * stmt list
| GCCAsmStmt of stmt_info * stmt list
and switch_stmt_info = Clang_ast_t.switch_stmt_info = {
ssi_init : pointer option;
ssi_cond_var : stmt option;
ssi_cond : pointer;
ssi_body : pointer;
ssi_is_all_enum_cases_covered : bool;
}
and var_decl_info = Clang_ast_t.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 lookups = Clang_ast_t.lookups = {
lups_decl_ref : decl_ref;
lups_primary_context_pointer : pointer option;
lups_lookups : lookup list;
lups_has_undeserialized_decls : bool;
}
val validate_access_specifier :
Atdgen_runtime.Util.Validation.path ->
access_specifier ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type access_specifier
.
val validate_atomic_expr_kind :
Atdgen_runtime.Util.Validation.path ->
atomic_expr_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type atomic_expr_kind
.
val create_atomic_expr_info :
aei_kind:atomic_expr_kind ->
unit ->
atomic_expr_info
Create a record of type atomic_expr_info
.
val validate_atomic_expr_info :
Atdgen_runtime.Util.Validation.path ->
atomic_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type atomic_expr_info
.
val validate_attribute_kind :
Atdgen_runtime.Util.Validation.path ->
attribute_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type attribute_kind
.
val validate_binary_operator_kind :
Atdgen_runtime.Util.Validation.path ->
binary_operator_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type binary_operator_kind
.
val create_binary_operator_info :
boi_kind:binary_operator_kind ->
unit ->
binary_operator_info
Create a record of type binary_operator_info
.
val validate_binary_operator_info :
Atdgen_runtime.Util.Validation.path ->
binary_operator_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type binary_operator_info
.
val validate_builtin_type_kind :
Atdgen_runtime.Util.Validation.path ->
builtin_type_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type builtin_type_kind
.
val validate_cast_kind :
Atdgen_runtime.Util.Validation.path ->
cast_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cast_kind
.
val create_cxx_base_specifier :
xbs_name:string ->
?xbs_virtual:bool ->
unit ->
cxx_base_specifier
Create a record of type cxx_base_specifier
.
val validate_cxx_base_specifier :
Atdgen_runtime.Util.Validation.path ->
cxx_base_specifier ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_base_specifier
.
val create_cast_expr_info :
cei_cast_kind:cast_kind ->
cei_base_path:cxx_base_specifier list ->
unit ->
cast_expr_info
Create a record of type cast_expr_info
.
val validate_cast_expr_info :
Atdgen_runtime.Util.Validation.path ->
cast_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cast_expr_info
.
val create_cxx_noexcept_expr_info :
?xnee_value:bool ->
unit ->
cxx_noexcept_expr_info
Create a record of type cxx_noexcept_expr_info
.
val validate_cxx_noexcept_expr_info :
Atdgen_runtime.Util.Validation.path ->
cxx_noexcept_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_noexcept_expr_info
.
val create_decl_context_info :
?dci_has_external_lexical_storage:bool ->
?dci_has_external_visible_storage:bool ->
unit ->
decl_context_info
Create a record of type decl_context_info
.
val validate_decl_context_info :
Atdgen_runtime.Util.Validation.path ->
decl_context_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type decl_context_info
.
val validate_decl_kind :
Atdgen_runtime.Util.Validation.path ->
decl_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type decl_kind
.
val validate_declaration_name_kind :
Atdgen_runtime.Util.Validation.path ->
declaration_name_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type declaration_name_kind
.
val create_declaration_name :
dn_kind:declaration_name_kind ->
dn_name:string ->
unit ->
declaration_name
Create a record of type declaration_name
.
val validate_declaration_name :
Atdgen_runtime.Util.Validation.path ->
declaration_name ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type declaration_name
.
val validate_enum_decl_scope :
Atdgen_runtime.Util.Validation.path ->
enum_decl_scope ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type enum_decl_scope
.
val create_enum_decl_info :
?edi_scope:enum_decl_scope ->
?edi_is_module_private:bool ->
unit ->
enum_decl_info
Create a record of type enum_decl_info
.
val validate_enum_decl_info :
Atdgen_runtime.Util.Validation.path ->
enum_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type enum_decl_info
.
val validate_input_kind :
Atdgen_runtime.Util.Validation.path ->
input_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type input_kind
.
val create_integer_literal_info :
?ili_is_signed:bool ->
ili_bitwidth:int ->
ili_value:string ->
unit ->
integer_literal_info
Create a record of type integer_literal_info
.
val validate_integer_literal_info :
Atdgen_runtime.Util.Validation.path ->
integer_literal_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type integer_literal_info
.
val create_integer_type_widths :
itw_char_type:int ->
itw_short_type:int ->
itw_int_type:int ->
itw_long_type:int ->
itw_longlong_type:int ->
unit ->
integer_type_widths
Create a record of type integer_type_widths
.
val validate_integer_type_widths :
Atdgen_runtime.Util.Validation.path ->
integer_type_widths ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type integer_type_widths
.
val validate_lambda_capture_kind :
Atdgen_runtime.Util.Validation.path ->
lambda_capture_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type lambda_capture_kind
.
val create_named_decl_info :
ni_name:string ->
ni_qual_name:string list ->
unit ->
named_decl_info
Create a record of type named_decl_info
.
val validate_named_decl_info :
Atdgen_runtime.Util.Validation.path ->
named_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type named_decl_info
.
val create_namespace_decl_info :
?ndi_is_inline:bool ->
unit ->
namespace_decl_info
Create a record of type namespace_decl_info
.
val validate_namespace_decl_info :
Atdgen_runtime.Util.Validation.path ->
namespace_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type namespace_decl_info
.
val validate_obj_c_access_control :
Atdgen_runtime.Util.Validation.path ->
obj_c_access_control ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_access_control
.
val create_obj_c_availability_check_expr_info :
?oacei_version:string ->
unit ->
obj_c_availability_check_expr_info
Create a record of type obj_c_availability_check_expr_info
.
val validate_obj_c_availability_check_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_availability_check_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_availability_check_expr_info
.
val validate_obj_c_bridge_cast_kind :
Atdgen_runtime.Util.Validation.path ->
obj_c_bridge_cast_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_bridge_cast_kind
.
val create_obj_c_bridged_cast_expr_info :
obcei_cast_kind:obj_c_bridge_cast_kind ->
unit ->
obj_c_bridged_cast_expr_info
Create a record of type obj_c_bridged_cast_expr_info
.
val validate_obj_c_bridged_cast_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_bridged_cast_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_bridged_cast_expr_info
.
val create_obj_c_ivar_decl_info :
?ovdi_is_synthesize:bool ->
?ovdi_access_control:obj_c_access_control ->
unit ->
obj_c_ivar_decl_info
Create a record of type obj_c_ivar_decl_info
.
val validate_obj_c_ivar_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_ivar_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_ivar_decl_info
.
val validate_obj_c_property_control :
Atdgen_runtime.Util.Validation.path ->
obj_c_property_control ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_property_control
.
val validate_obj_c_subscript_kind :
Atdgen_runtime.Util.Validation.path ->
obj_c_subscript_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_subscript_kind
.
val validate_objc_lifetime_attr :
Atdgen_runtime.Util.Validation.path ->
objc_lifetime_attr ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type objc_lifetime_attr
.
val create_attr_type_info :
ati_attr_kind:attribute_kind ->
?ati_lifetime:objc_lifetime_attr ->
unit ->
attr_type_info
Create a record of type attr_type_info
.
val validate_attr_type_info :
Atdgen_runtime.Util.Validation.path ->
attr_type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type attr_type_info
.
val validate_object_kind :
Atdgen_runtime.Util.Validation.path ->
object_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type object_kind
.
val create_offset_of_expr_info :
?ooe_literal:integer_literal_info ->
unit ->
offset_of_expr_info
Create a record of type offset_of_expr_info
.
val validate_offset_of_expr_info :
Atdgen_runtime.Util.Validation.path ->
offset_of_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type offset_of_expr_info
.
val validate_pointer :
Atdgen_runtime.Util.Validation.path ->
pointer ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type pointer
.
val create_addr_label_expr_info :
alei_label:string ->
alei_pointer:pointer ->
unit ->
addr_label_expr_info
Create a record of type addr_label_expr_info
.
val validate_addr_label_expr_info :
Atdgen_runtime.Util.Validation.path ->
addr_label_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type addr_label_expr_info
.
val create_cxx_new_expr_info :
?xnei_is_array:bool ->
?xnei_array_size_expr:pointer ->
?xnei_initializer_expr:pointer ->
?xnei_placement_args:pointer list ->
unit ->
cxx_new_expr_info
Create a record of type cxx_new_expr_info
.
val validate_cxx_new_expr_info :
Atdgen_runtime.Util.Validation.path ->
cxx_new_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_new_expr_info
.
val validate_cxx_temporary :
Atdgen_runtime.Util.Validation.path ->
cxx_temporary ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_temporary
.
val create_cxx_bind_temporary_expr_info :
xbtei_cxx_temporary:cxx_temporary ->
unit ->
cxx_bind_temporary_expr_info
Create a record of type cxx_bind_temporary_expr_info
.
val validate_cxx_bind_temporary_expr_info :
Atdgen_runtime.Util.Validation.path ->
cxx_bind_temporary_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_bind_temporary_expr_info
.
val create_goto_stmt_info :
gsi_label:string ->
gsi_pointer:pointer ->
unit ->
goto_stmt_info
Create a record of type goto_stmt_info
.
val validate_goto_stmt_info :
Atdgen_runtime.Util.Validation.path ->
goto_stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type goto_stmt_info
.
val create_obj_c_array_literal_expr_info :
?oalei_array_method:pointer ->
unit ->
obj_c_array_literal_expr_info
Create a record of type obj_c_array_literal_expr_info
.
val validate_obj_c_array_literal_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_array_literal_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_array_literal_expr_info
.
val create_obj_c_dictionary_literal_expr_info :
?odlei_dict_method:pointer ->
unit ->
obj_c_dictionary_literal_expr_info
Create a record of type obj_c_dictionary_literal_expr_info
.
val validate_obj_c_dictionary_literal_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_dictionary_literal_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_dictionary_literal_expr_info
.
val validate_predefined_expr_type :
Atdgen_runtime.Util.Validation.path ->
predefined_expr_type ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type predefined_expr_type
.
val validate_property_attribute :
Atdgen_runtime.Util.Validation.path ->
property_attribute ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type property_attribute
.
val validate_property_implementation :
Atdgen_runtime.Util.Validation.path ->
property_implementation ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type property_implementation
.
val create_record_decl_info :
rdi_definition_ptr:pointer ->
?rdi_is_module_private:bool ->
?rdi_is_complete_definition:bool ->
?rdi_is_dependent_type:bool ->
unit ->
record_decl_info
Create a record of type record_decl_info
.
val validate_record_decl_info :
Atdgen_runtime.Util.Validation.path ->
record_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type record_decl_info
.
val validate_selector :
Atdgen_runtime.Util.Validation.path ->
selector ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type selector
.
val create_obj_c_method_ref_info :
?mri_getter:selector ->
?mri_setter:selector ->
unit ->
obj_c_method_ref_info
Create a record of type obj_c_method_ref_info
.
val validate_obj_c_method_ref_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_method_ref_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_method_ref_info
.
val create_obj_c_subscript_ref_expr_info :
osrei_kind:obj_c_subscript_kind ->
?osrei_getter:selector ->
?osrei_setter:selector ->
unit ->
obj_c_subscript_ref_expr_info
Create a record of type obj_c_subscript_ref_expr_info
.
val validate_obj_c_subscript_ref_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_subscript_ref_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_subscript_ref_expr_info
.
val create_objc_boxed_expr_info :
?obei_boxing_method:selector ->
unit ->
objc_boxed_expr_info
Create a record of type objc_boxed_expr_info
.
val validate_objc_boxed_expr_info :
Atdgen_runtime.Util.Validation.path ->
objc_boxed_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type objc_boxed_expr_info
.
val create_sentinel_attr_info :
sai_sentinel:int ->
sai_null_pos:int ->
unit ->
sentinel_attr_info
Create a record of type sentinel_attr_info
.
val validate_sentinel_attr_info :
Atdgen_runtime.Util.Validation.path ->
sentinel_attr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type sentinel_attr_info
.
val validate_source_file :
Atdgen_runtime.Util.Validation.path ->
source_file ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type source_file
.
val create_source_location :
?sl_file:source_file ->
?sl_line:int ->
?sl_column:int ->
?sl_is_macro:bool ->
?sl_macro_file:source_file ->
?sl_macro_line:int ->
unit ->
source_location
Create a record of type source_location
.
val validate_source_location :
Atdgen_runtime.Util.Validation.path ->
source_location ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type source_location
.
val validate_source_range :
Atdgen_runtime.Util.Validation.path ->
source_range ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type source_range
.
val create_attribute_info :
ai_pointer:pointer ->
ai_source_range:source_range ->
unit ->
attribute_info
Create a record of type attribute_info
.
val validate_attribute_info :
Atdgen_runtime.Util.Validation.path ->
attribute_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type attribute_info
.
val validate_attr_tuple :
Atdgen_runtime.Util.Validation.path ->
attr_tuple ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type attr_tuple
.
val create_comment_info :
ci_parent_pointer:pointer ->
ci_source_range:source_range ->
unit ->
comment_info
Create a record of type comment_info
.
val validate_comment_info :
Atdgen_runtime.Util.Validation.path ->
comment_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type comment_info
.
val validate_specifier_kind :
Atdgen_runtime.Util.Validation.path ->
specifier_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type specifier_kind
.
val create_stmt_info :
si_pointer:pointer ->
si_source_range:source_range ->
unit ->
stmt_info
Create a record of type stmt_info
.
val validate_stmt_info :
Atdgen_runtime.Util.Validation.path ->
stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type stmt_info
.
val validate_tag_kind :
Atdgen_runtime.Util.Validation.path ->
tag_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type tag_kind
.
val validate_type_ptr :
Atdgen_runtime.Util.Validation.path ->
type_ptr ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type type_ptr
.
val create_qual_type :
qt_type_ptr:type_ptr ->
?qt_is_const:bool ->
?qt_is_restrict:bool ->
?qt_is_volatile:bool ->
unit ->
qual_type
Create a record of type qual_type
.
val validate_qual_type :
Atdgen_runtime.Util.Validation.path ->
qual_type ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type qual_type
.
val create_array_type_info :
arti_element_type:qual_type ->
?arti_stride:int ->
unit ->
array_type_info
Create a record of type array_type_info
.
val validate_array_type_info :
Atdgen_runtime.Util.Validation.path ->
array_type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type array_type_info
.
val create_compound_assign_operator_info :
caoi_lhs_type:qual_type ->
caoi_result_type:qual_type ->
unit ->
compound_assign_operator_info
Create a record of type compound_assign_operator_info
.
val validate_compound_assign_operator_info :
Atdgen_runtime.Util.Validation.path ->
compound_assign_operator_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type compound_assign_operator_info
.
val create_cxx_delete_expr_info :
?xdei_is_array:bool ->
xdei_destroyed_type:qual_type ->
unit ->
cxx_delete_expr_info
Create a record of type cxx_delete_expr_info
.
val validate_cxx_delete_expr_info :
Atdgen_runtime.Util.Validation.path ->
cxx_delete_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_delete_expr_info
.
val create_decl_ref :
dr_kind:decl_kind ->
dr_decl_pointer:pointer ->
?dr_name:named_decl_info ->
?dr_is_hidden:bool ->
?dr_qual_type:qual_type ->
unit ->
decl_ref
Create a record of type decl_ref
.
val validate_decl_ref :
Atdgen_runtime.Util.Validation.path ->
decl_ref ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type decl_ref
.
val create_cxx_construct_expr_info :
xcei_decl_ref:decl_ref ->
?xcei_is_elidable:bool ->
?xcei_requires_zero_initialization:bool ->
?xcei_is_copy_constructor:bool ->
unit ->
cxx_construct_expr_info
Create a record of type cxx_construct_expr_info
.
val validate_cxx_construct_expr_info :
Atdgen_runtime.Util.Validation.path ->
cxx_construct_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_construct_expr_info
.
val validate_cxx_ctor_initializer_subject :
Atdgen_runtime.Util.Validation.path ->
cxx_ctor_initializer_subject ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_ctor_initializer_subject
.
val create_decl_ref_expr_info :
?drti_decl_ref:decl_ref ->
unit ->
decl_ref_expr_info
Create a record of type decl_ref_expr_info
.
val validate_decl_ref_expr_info :
Atdgen_runtime.Util.Validation.path ->
decl_ref_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type decl_ref_expr_info
.
val create_expr_with_cleanups_info :
?ewci_decl_refs:decl_ref list ->
unit ->
expr_with_cleanups_info
Create a record of type expr_with_cleanups_info
.
val validate_expr_with_cleanups_info :
Atdgen_runtime.Util.Validation.path ->
expr_with_cleanups_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type expr_with_cleanups_info
.
val create_function_type_info :
fti_return_type:qual_type ->
unit ->
function_type_info
Create a record of type function_type_info
.
val validate_function_type_info :
Atdgen_runtime.Util.Validation.path ->
function_type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type function_type_info
.
val create_materialize_temporary_expr_info :
?mtei_decl_ref:decl_ref ->
unit ->
materialize_temporary_expr_info
Create a record of type materialize_temporary_expr_info
.
val validate_materialize_temporary_expr_info :
Atdgen_runtime.Util.Validation.path ->
materialize_temporary_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type materialize_temporary_expr_info
.
val create_member_expr_info :
?mei_is_arrow:bool ->
?mei_performs_virtual_dispatch:bool ->
mei_name:named_decl_info ->
mei_decl_ref:decl_ref ->
unit ->
member_expr_info
Create a record of type member_expr_info
.
val validate_member_expr_info :
Atdgen_runtime.Util.Validation.path ->
member_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type member_expr_info
.
val create_nested_name_specifier_loc :
nnsl_kind:specifier_kind ->
?nnsl_ref:decl_ref ->
unit ->
nested_name_specifier_loc
Create a record of type nested_name_specifier_loc
.
val validate_nested_name_specifier_loc :
Atdgen_runtime.Util.Validation.path ->
nested_name_specifier_loc ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type nested_name_specifier_loc
.
val create_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 ->
unit ->
namespace_alias_decl_info
Create a record of type namespace_alias_decl_info
.
val validate_namespace_alias_decl_info :
Atdgen_runtime.Util.Validation.path ->
namespace_alias_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type namespace_alias_decl_info
.
val create_obj_c_category_decl_info :
?odi_class_interface:decl_ref ->
?odi_implementation:decl_ref ->
?odi_protocols:decl_ref list ->
unit ->
obj_c_category_decl_info
Create a record of type obj_c_category_decl_info
.
val validate_obj_c_category_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_category_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_category_decl_info
.
val create_obj_c_category_impl_decl_info :
?ocidi_class_interface:decl_ref ->
?ocidi_category_decl:decl_ref ->
unit ->
obj_c_category_impl_decl_info
Create a record of type obj_c_category_impl_decl_info
.
val validate_obj_c_category_impl_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_category_impl_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_category_impl_decl_info
.
val create_obj_c_compatible_alias_decl_info :
?ocadi_class_interface:decl_ref ->
unit ->
obj_c_compatible_alias_decl_info
Create a record of type obj_c_compatible_alias_decl_info
.
val validate_obj_c_compatible_alias_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_compatible_alias_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_compatible_alias_decl_info
.
val create_obj_c_interface_decl_info :
?otdi_super:decl_ref ->
?otdi_implementation:decl_ref ->
?otdi_protocols:decl_ref list ->
?otdi_known_categories:decl_ref list ->
unit ->
obj_c_interface_decl_info
Create a record of type obj_c_interface_decl_info
.
val validate_obj_c_interface_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_interface_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_interface_decl_info
.
val create_obj_c_ivar_ref_expr_info :
ovrei_decl_ref:decl_ref ->
ovrei_pointer:pointer ->
?ovrei_is_free_ivar:bool ->
unit ->
obj_c_ivar_ref_expr_info
Create a record of type obj_c_ivar_ref_expr_info
.
val validate_obj_c_ivar_ref_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_ivar_ref_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_ivar_ref_expr_info
.
val create_obj_c_property_decl_info :
opdi_qual_type:qual_type ->
?opdi_getter_method:decl_ref ->
?opdi_setter_method:decl_ref ->
?opdi_ivar_decl:decl_ref ->
?opdi_property_control:obj_c_property_control ->
?opdi_property_attributes:property_attribute list ->
unit ->
obj_c_property_decl_info
Create a record of type obj_c_property_decl_info
.
val validate_obj_c_property_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_property_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_property_decl_info
.
val create_obj_c_property_impl_decl_info :
opidi_implementation:property_implementation ->
?opidi_property_decl:decl_ref ->
?opidi_ivar_decl:decl_ref ->
unit ->
obj_c_property_impl_decl_info
Create a record of type obj_c_property_impl_decl_info
.
val validate_obj_c_property_impl_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_property_impl_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_property_impl_decl_info
.
val create_obj_c_protocol_decl_info :
?opcdi_protocols:decl_ref list ->
unit ->
obj_c_protocol_decl_info
Create a record of type obj_c_protocol_decl_info
.
val validate_obj_c_protocol_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_protocol_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_protocol_decl_info
.
val create_objc_encode_expr_info :
oeei_qual_type:qual_type ->
oeei_raw:string ->
unit ->
objc_encode_expr_info
Create a record of type objc_encode_expr_info
.
val validate_objc_encode_expr_info :
Atdgen_runtime.Util.Validation.path ->
objc_encode_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type objc_encode_expr_info
.
val create_objc_object_type_info :
ooti_base_type:type_ptr ->
?ooti_protocol_decls_ptr:pointer list ->
?ooti_type_args:qual_type list ->
unit ->
objc_object_type_info
Create a record of type objc_object_type_info
.
val validate_objc_object_type_info :
Atdgen_runtime.Util.Validation.path ->
objc_object_type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type objc_object_type_info
.
val create_overload_expr_info :
?oei_decls:decl_ref list ->
oei_name:declaration_name ->
unit ->
overload_expr_info
Create a record of type overload_expr_info
.
val validate_overload_expr_info :
Atdgen_runtime.Util.Validation.path ->
overload_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type overload_expr_info
.
val create_params_type_info :
?pti_params_type:qual_type list ->
unit ->
params_type_info
Create a record of type params_type_info
.
val validate_params_type_info :
Atdgen_runtime.Util.Validation.path ->
params_type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type params_type_info
.
val validate_property_ref_kind :
Atdgen_runtime.Util.Validation.path ->
property_ref_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type property_ref_kind
.
val create_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 ->
unit ->
obj_c_property_ref_expr_info
Create a record of type obj_c_property_ref_expr_info
.
val validate_obj_c_property_ref_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_property_ref_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_property_ref_expr_info
.
val validate_receiver_kind :
Atdgen_runtime.Util.Validation.path ->
receiver_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type receiver_kind
.
val create_obj_c_message_expr_info :
omei_selector:string ->
?omei_is_definition_found:bool ->
?omei_decl_pointer:pointer ->
?omei_receiver_kind:receiver_kind ->
unit ->
obj_c_message_expr_info
Create a record of type obj_c_message_expr_info
.
val validate_obj_c_message_expr_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_message_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_message_expr_info
.
Create a record of type type_info
.
val validate_type_info :
Atdgen_runtime.Util.Validation.path ->
type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type type_info
.
val create_type_trait_info : ?xtti_value:bool -> unit -> type_trait_info
Create a record of type type_trait_info
.
val validate_type_trait_info :
Atdgen_runtime.Util.Validation.path ->
type_trait_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type type_trait_info
.
val create_typedef_decl_info :
?tdi_is_module_private:bool ->
unit ->
typedef_decl_info
Create a record of type typedef_decl_info
.
val validate_typedef_decl_info :
Atdgen_runtime.Util.Validation.path ->
typedef_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type typedef_decl_info
.
val create_typedef_type_info :
tti_child_type:qual_type ->
tti_decl_ptr:pointer ->
unit ->
typedef_type_info
Create a record of type typedef_type_info
.
val validate_typedef_type_info :
Atdgen_runtime.Util.Validation.path ->
typedef_type_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type typedef_type_info
.
val validate_c_type :
Atdgen_runtime.Util.Validation.path ->
c_type ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type c_type
.
val create_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 ->
unit ->
translation_unit_decl_info
Create a record of type translation_unit_decl_info
.
val validate_translation_unit_decl_info :
Atdgen_runtime.Util.Validation.path ->
translation_unit_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type translation_unit_decl_info
.
val validate_unary_expr_or_type_trait_kind :
Atdgen_runtime.Util.Validation.path ->
unary_expr_or_type_trait_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type unary_expr_or_type_trait_kind
.
val create_unary_expr_or_type_trait_expr_info :
uttei_kind:unary_expr_or_type_trait_kind ->
uttei_qual_type:qual_type ->
unit ->
unary_expr_or_type_trait_expr_info
Create a record of type unary_expr_or_type_trait_expr_info
.
val validate_unary_expr_or_type_trait_expr_info :
Atdgen_runtime.Util.Validation.path ->
unary_expr_or_type_trait_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type unary_expr_or_type_trait_expr_info
.
val validate_unary_operator_kind :
Atdgen_runtime.Util.Validation.path ->
unary_operator_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type unary_operator_kind
.
val create_unary_operator_info :
uoi_kind:unary_operator_kind ->
?uoi_is_postfix:bool ->
unit ->
unary_operator_info
Create a record of type unary_operator_info
.
val validate_unary_operator_info :
Atdgen_runtime.Util.Validation.path ->
unary_operator_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type unary_operator_info
.
val create_unresolved_lookup_expr_info :
?ulei_requires_ADL:bool ->
?ulei_naming_class:decl_ref ->
unit ->
unresolved_lookup_expr_info
Create a record of type unresolved_lookup_expr_info
.
val validate_unresolved_lookup_expr_info :
Atdgen_runtime.Util.Validation.path ->
unresolved_lookup_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type unresolved_lookup_expr_info
.
val create_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 ->
unit ->
using_directive_decl_info
Create a record of type using_directive_decl_info
.
val validate_using_directive_decl_info :
Atdgen_runtime.Util.Validation.path ->
using_directive_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type using_directive_decl_info
.
val validate_value_kind :
Atdgen_runtime.Util.Validation.path ->
value_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type value_kind
.
val create_expr_info :
ei_qual_type:qual_type ->
?ei_value_kind:value_kind ->
?ei_object_kind:object_kind ->
unit ->
expr_info
Create a record of type expr_info
.
val validate_expr_info :
Atdgen_runtime.Util.Validation.path ->
expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type expr_info
.
val create_version_tuple :
vt_major:int ->
?vt_minor:int ->
?vt_subminor:int ->
?vt_build:int ->
unit ->
version_tuple
Create a record of type version_tuple
.
val validate_version_tuple :
Atdgen_runtime.Util.Validation.path ->
version_tuple ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type version_tuple
.
val create_availability_attr_info :
?aai_platform:string ->
aai_introduced:version_tuple ->
unit ->
availability_attr_info
Create a record of type availability_attr_info
.
val validate_availability_attr_info :
Atdgen_runtime.Util.Validation.path ->
availability_attr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type availability_attr_info
.
val validate_visibility_attr :
Atdgen_runtime.Util.Validation.path ->
visibility_attr ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type visibility_attr
.
val validate_attribute :
Atdgen_runtime.Util.Validation.path ->
attribute ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type attribute
.
val validate_template_instantiation_arg_info :
Atdgen_runtime.Util.Validation.path ->
template_instantiation_arg_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type template_instantiation_arg_info
.
val validate_comment :
Atdgen_runtime.Util.Validation.path ->
comment ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type comment
.
val create_template_specialization_info :
tsi_template_decl:pointer ->
?tsi_specialization_args:template_instantiation_arg_info list ->
unit ->
template_specialization_info
Create a record of type template_specialization_info
.
val validate_template_specialization_info :
Atdgen_runtime.Util.Validation.path ->
template_specialization_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type template_specialization_info
.
val create_decl_info :
di_pointer:pointer ->
?di_parent_pointer:pointer ->
di_source_range:source_range ->
?di_owning_module:string ->
?di_is_hidden:bool ->
?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 ->
?di_access:access_specifier ->
unit ->
decl_info
Create a record of type decl_info
.
val validate_decl_info :
Atdgen_runtime.Util.Validation.path ->
decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type decl_info
.
val create_binding_decl_info :
?binding_var:var_decl_info ->
?bound_decl_type:qual_type ->
unit ->
binding_decl_info
Create a record of type binding_decl_info
.
val validate_binding_decl_info :
Atdgen_runtime.Util.Validation.path ->
binding_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type binding_decl_info
.
val create_block_captured_variable :
?bcv_is_by_ref:bool ->
?bcv_is_nested:bool ->
?bcv_variable:decl_ref ->
?bcv_copy_expr:stmt ->
unit ->
block_captured_variable
Create a record of type block_captured_variable
.
val validate_block_captured_variable :
Atdgen_runtime.Util.Validation.path ->
block_captured_variable ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type block_captured_variable
.
val create_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 ->
?bdi_mangled_name:string ->
unit ->
block_decl_info
Create a record of type block_decl_info
.
val validate_block_decl_info :
Atdgen_runtime.Util.Validation.path ->
block_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type block_decl_info
.
val create_coreturn_stmt_info :
?coret_operand:stmt ->
?coret_promise_call:stmt ->
unit ->
coreturn_stmt_info
Create a record of type coreturn_stmt_info
.
val validate_coreturn_stmt_info :
Atdgen_runtime.Util.Validation.path ->
coreturn_stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type coreturn_stmt_info
.
val create_coro_body_stmt_info :
cbs_body:pointer ->
cbs_promise_decl_stmt:pointer ->
cbs_return_value:stmt ->
unit ->
coro_body_stmt_info
Create a record of type coro_body_stmt_info
.
val validate_coro_body_stmt_info :
Atdgen_runtime.Util.Validation.path ->
coro_body_stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type coro_body_stmt_info
.
val create_cxx_catch_stmt_info :
?xcsi_variable:decl ->
unit ->
cxx_catch_stmt_info
Create a record of type cxx_catch_stmt_info
.
val validate_cxx_catch_stmt_info :
Atdgen_runtime.Util.Validation.path ->
cxx_catch_stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_catch_stmt_info
.
val create_cxx_ctor_initializer :
xci_subject:cxx_ctor_initializer_subject ->
xci_source_range:source_range ->
?xci_init_expr:stmt ->
unit ->
cxx_ctor_initializer
Create a record of type cxx_ctor_initializer
.
val validate_cxx_ctor_initializer :
Atdgen_runtime.Util.Validation.path ->
cxx_ctor_initializer ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_ctor_initializer
.
val create_cxx_default_expr_info :
?xdaei_init_expr:stmt ->
unit ->
cxx_default_expr_info
Create a record of type cxx_default_expr_info
.
val validate_cxx_default_expr_info :
Atdgen_runtime.Util.Validation.path ->
cxx_default_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_default_expr_info
.
val create_cxx_method_decl_info :
?xmdi_is_virtual:bool ->
?xmdi_is_static:bool ->
?xmdi_is_const:bool ->
?xmdi_is_copy_assignment:bool ->
?xmdi_is_copy_constructor:bool ->
?xmdi_is_move_constructor:bool ->
?xmdi_cxx_ctor_initializers:cxx_ctor_initializer list ->
?xmdi_overriden_methods:decl_ref list ->
unit ->
cxx_method_decl_info
Create a record of type cxx_method_decl_info
.
val validate_cxx_method_decl_info :
Atdgen_runtime.Util.Validation.path ->
cxx_method_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_method_decl_info
.
val create_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_is_trivially_copyable:bool ->
?xrdi_destructor:decl_ref ->
?xrdi_lambda_call_operator:decl_ref ->
?xrdi_lambda_captures:lambda_capture_info list ->
unit ->
cxx_record_decl_info
Create a record of type cxx_record_decl_info
.
val validate_cxx_record_decl_info :
Atdgen_runtime.Util.Validation.path ->
cxx_record_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type cxx_record_decl_info
.
val validate_decl :
Atdgen_runtime.Util.Validation.path ->
decl ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type decl
.
val create_enum_constant_decl_info :
?ecdi_init_expr:stmt ->
unit ->
enum_constant_decl_info
Create a record of type enum_constant_decl_info
.
val validate_enum_constant_decl_info :
Atdgen_runtime.Util.Validation.path ->
enum_constant_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type enum_constant_decl_info
.
val create_field_decl_info :
?fldi_is_mutable:bool ->
?fldi_is_module_private:bool ->
?fldi_init_expr:stmt ->
?fldi_bit_width_expr:stmt ->
unit ->
field_decl_info
Create a record of type field_decl_info
.
val validate_field_decl_info :
Atdgen_runtime.Util.Validation.path ->
field_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type field_decl_info
.
val validate_friend_info :
Atdgen_runtime.Util.Validation.path ->
friend_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type friend_info
.
val create_function_decl_info :
?fdi_mangled_name:string ->
?fdi_is_cpp:bool ->
?fdi_is_inline:bool ->
?fdi_is_module_private:bool ->
?fdi_is_pure:bool ->
?fdi_is_deleted: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 ->
?fdi_body:stmt ->
?fdi_template_specialization:template_specialization_info ->
?fdi_point_of_instantiation:source_location ->
unit ->
function_decl_info
Create a record of type function_decl_info
.
val validate_function_decl_info :
Atdgen_runtime.Util.Validation.path ->
function_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type function_decl_info
.
val create_generic_selection_info :
?gse_value:stmt ->
unit ->
generic_selection_info
Create a record of type generic_selection_info
.
val validate_generic_selection_info :
Atdgen_runtime.Util.Validation.path ->
generic_selection_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type generic_selection_info
.
val create_if_stmt_info :
?isi_init:pointer ->
?isi_cond_var:stmt ->
isi_cond:pointer ->
isi_then:pointer ->
?isi_else:(pointer * source_location) ->
unit ->
if_stmt_info
Create a record of type if_stmt_info
.
val validate_if_stmt_info :
Atdgen_runtime.Util.Validation.path ->
if_stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type if_stmt_info
.
val create_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 ->
?lci_captured_var:decl_ref ->
?lci_is_implicit:bool ->
lci_location:source_range ->
?lci_is_pack_expansion:bool ->
unit ->
lambda_capture_info
Create a record of type lambda_capture_info
.
val validate_lambda_capture_info :
Atdgen_runtime.Util.Validation.path ->
lambda_capture_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type lambda_capture_info
.
val create_lambda_expr_info : lei_lambda_decl:decl -> unit -> lambda_expr_info
Create a record of type lambda_expr_info
.
val validate_lambda_expr_info :
Atdgen_runtime.Util.Validation.path ->
lambda_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type lambda_expr_info
.
val create_obj_c_implementation_decl_info :
?oidi_super:decl_ref ->
?oidi_class_interface:decl_ref ->
?oidi_ivar_initializers:cxx_ctor_initializer list ->
unit ->
obj_c_implementation_decl_info
Create a record of type obj_c_implementation_decl_info
.
val validate_obj_c_implementation_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_implementation_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_implementation_decl_info
.
val validate_obj_c_message_expr_kind :
Atdgen_runtime.Util.Validation.path ->
obj_c_message_expr_kind ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_message_expr_kind
.
val create_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 ->
?omdi_parameters:decl list ->
?omdi_implicit_parameters:decl list ->
?omdi_is_variadic:bool ->
?omdi_is_overriding:bool ->
?omdi_is_optional:bool ->
?omdi_body:stmt ->
?omdi_mangled_name:string ->
unit ->
obj_c_method_decl_info
Create a record of type obj_c_method_decl_info
.
val validate_obj_c_method_decl_info :
Atdgen_runtime.Util.Validation.path ->
obj_c_method_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type obj_c_method_decl_info
.
val create_opaque_value_expr_info :
?ovei_source_expr:stmt ->
unit ->
opaque_value_expr_info
Create a record of type opaque_value_expr_info
.
val validate_opaque_value_expr_info :
Atdgen_runtime.Util.Validation.path ->
opaque_value_expr_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type opaque_value_expr_info
.
val validate_stmt :
Atdgen_runtime.Util.Validation.path ->
stmt ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type stmt
.
val create_switch_stmt_info :
?ssi_init:pointer ->
?ssi_cond_var:stmt ->
ssi_cond:pointer ->
ssi_body:pointer ->
?ssi_is_all_enum_cases_covered:bool ->
unit ->
switch_stmt_info
Create a record of type switch_stmt_info
.
val validate_switch_stmt_info :
Atdgen_runtime.Util.Validation.path ->
switch_stmt_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type switch_stmt_info
.
val create_template_decl_info :
?tdi_specializations:decl list ->
unit ->
template_decl_info
Create a record of type template_decl_info
.
val validate_template_decl_info :
Atdgen_runtime.Util.Validation.path ->
template_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type template_decl_info
.
val create_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 ->
?vdi_is_init_expr_cxx11_constant:bool ->
?vdi_parm_index_in_function:int ->
unit ->
var_decl_info
Create a record of type var_decl_info
.
val validate_var_decl_info :
Atdgen_runtime.Util.Validation.path ->
var_decl_info ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type var_decl_info
.
Create a record of type lookup
.
val validate_lookup :
Atdgen_runtime.Util.Validation.path ->
lookup ->
Atdgen_runtime.Util.Validation.error option
Validate a value of type lookup
.