Module ATDGenerated.Clang_ast_v
type access_specifier= Clang_ast_t.access_specifiertype attribute_kind= Clang_ast_t.attribute_kind=type binary_operator_kind= Clang_ast_t.binary_operator_kindtype binary_operator_info= Clang_ast_t.binary_operator_info={boi_kind : binary_operator_kind;}type builtin_type_kind= Clang_ast_t.builtin_type_kindtype cast_kind= Clang_ast_t.cast_kindtype cxx_base_specifier= Clang_ast_t.cxx_base_specifier={xbs_name : string;xbs_virtual : bool;}type cast_expr_info= Clang_ast_t.cast_expr_info={cei_cast_kind : cast_kind;cei_base_path : cxx_base_specifier list;}type cxx_noexcept_expr_info= Clang_ast_t.cxx_noexcept_expr_info={xnee_value : bool;}type decl_context_info= Clang_ast_t.decl_context_info={dci_has_external_lexical_storage : bool;dci_has_external_visible_storage : bool;}type decl_kind= Clang_ast_t.decl_kindtype declaration_name_kind= Clang_ast_t.declaration_name_kindtype declaration_name= Clang_ast_t.declaration_name={dn_kind : declaration_name_kind;dn_name : string;}type enum_decl_scope= Clang_ast_t.enum_decl_scopetype 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_kindtype integer_literal_info= Clang_ast_t.integer_literal_info={ili_is_signed : bool;ili_bitwidth : int;ili_value : string;}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_kindtype named_decl_info= Clang_ast_t.named_decl_info={ni_name : string;ni_qual_name : string list;}type obj_c_access_control= Clang_ast_t.obj_c_access_controltype obj_c_availability_check_expr_info= Clang_ast_t.obj_c_availability_check_expr_info={oacei_version : string option;}type obj_c_bridge_cast_kind= Clang_ast_t.obj_c_bridge_cast_kindtype 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_controltype obj_c_subscript_kind= Clang_ast_t.obj_c_subscript_kindtype objc_lifetime_attr= Clang_ast_t.objc_lifetime_attrtype 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_kindtype offset_of_expr_info= Clang_ast_t.offset_of_expr_info={ooe_literal : integer_literal_info option;}type pointer= Clang_ast_t.pointertype 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_temporarytype cxx_bind_temporary_expr_info= Clang_ast_t.cxx_bind_temporary_expr_info={xbtei_cxx_temporary : cxx_temporary;}type goto_stmt_info= Clang_ast_t.goto_stmt_info={gsi_label : string;gsi_pointer : pointer;}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_typetype property_attribute= Clang_ast_t.property_attributetype property_implementation= Clang_ast_t.property_implementationtype 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.selectortype obj_c_method_ref_info= Clang_ast_t.obj_c_method_ref_info={mri_getter : selector option;mri_setter : selector option;}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 sentinel_attr_info= Clang_ast_t.sentinel_attr_info={sai_sentinel : int;sai_null_pos : int;}type source_file= Clang_ast_t.source_filetype source_location= Clang_ast_t.source_location={mutable sl_file : source_file option;mutable sl_line : int option;mutable sl_column : int option;}type source_range= Clang_ast_t.source_rangetype attribute_info= Clang_ast_t.attribute_info={ai_pointer : pointer;ai_source_range : source_range;}type attr_tuple= Clang_ast_t.attr_tupletype comment_info= Clang_ast_t.comment_info={ci_parent_pointer : pointer;ci_source_range : source_range;}type specifier_kind= Clang_ast_t.specifier_kindtype stmt_info= Clang_ast_t.stmt_info={si_pointer : pointer;si_source_range : source_range;}type tag_kind= Clang_ast_t.tag_kindtype type_ptr= Clang_ast_t.type_ptrtype 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 compound_assign_operator_info= Clang_ast_t.compound_assign_operator_info={caoi_lhs_type : qual_type;caoi_result_type : qual_type;}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_subjecttype decl_ref_expr_info= Clang_ast_t.decl_ref_expr_info={drti_decl_ref : decl_ref option;drti_found_decl_ref : decl_ref option;}type expr_with_cleanups_info= Clang_ast_t.expr_with_cleanups_info={ewci_decl_refs : decl_ref list;}type function_type_info= Clang_ast_t.function_type_info={fti_return_type : qual_type;}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 namespace_decl_info= Clang_ast_t.namespace_decl_info={ndi_is_inline : bool;ndi_original_namespace : decl_ref option;}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_category_impl_decl_info= Clang_ast_t.obj_c_category_impl_decl_info={ocidi_class_interface : decl_ref option;ocidi_category_decl : decl_ref option;}type obj_c_compatible_alias_decl_info= 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_ivar_ref_expr_info= Clang_ast_t.obj_c_ivar_ref_expr_info={ovrei_decl_ref : decl_ref;ovrei_pointer : pointer;ovrei_is_free_ivar : bool;}type obj_c_property_decl_info= 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 objc_object_type_info= Clang_ast_t.objc_object_type_info={ooti_base_type : type_ptr;ooti_protocol_decls_ptr : pointer list;ooti_type_args : qual_type list;}type overload_expr_info= Clang_ast_t.overload_expr_info={oei_decls : decl_ref list;oei_name : declaration_name;}type params_type_info= Clang_ast_t.params_type_info={pti_params_type : qual_type list;}type property_ref_kind= Clang_ast_t.property_ref_kindtype 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_kindtype 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 type_info= Clang_ast_t.type_info={ti_pointer : pointer;ti_desugared_type : type_ptr option;}type type_trait_info= Clang_ast_t.type_trait_info={xtti_value : bool;}type typedef_decl_info= Clang_ast_t.typedef_decl_info={tdi_is_module_private : bool;}type typedef_type_info= Clang_ast_t.typedef_type_info={tti_child_type : qual_type;tti_decl_ptr : pointer;}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|DependentSizedArrayType of type_info * array_type_info|IncompleteArrayType of type_info * array_type_info|VariableArrayType of type_info * array_type_info * pointer|AtomicType of type_info * qual_type|AttributedType of type_info * attr_type_info|BlockPointerType of type_info * qual_type|BuiltinType of type_info * builtin_type_kind|ComplexType of type_info|DecltypeType of type_info * qual_type|AutoType of type_info|DeducedTemplateSpecializationType of type_info|DependentAddressSpaceType of type_info|DependentExtIntType of type_info|DependentNameType of type_info|DependentSizedExtVectorType of type_info|DependentTemplateSpecializationType of type_info|DependentVectorType of type_info|ElaboratedType of type_info|ExtIntType of type_info|FunctionNoProtoType of type_info * function_type_info|FunctionProtoType of type_info * function_type_info * params_type_info|InjectedClassNameType of type_info|MacroQualifiedType of type_info|ConstantMatrixType of type_info|DependentSizedMatrixType of type_info|MemberPointerType of type_info * qual_type|ObjCObjectPointerType of type_info * qual_type|ObjCObjectType of type_info * objc_object_type_info|ObjCInterfaceType of type_info * pointer|ObjCTypeParamType of type_info|PackExpansionType of type_info|ParenType of type_info * qual_type|PipeType of type_info|PointerType of type_info * qual_type|LValueReferenceType of type_info * qual_type|RValueReferenceType of type_info * qual_type|SubstTemplateTypeParmPackType of type_info|SubstTemplateTypeParmType of type_info|EnumType of type_info * pointer|RecordType of type_info * pointer|TemplateSpecializationType of type_info|TemplateTypeParmType of type_info|TypeOfExprType of type_info|TypeOfType of type_info|TypedefType of type_info * typedef_type_info|UnaryTransformType of type_info|UnresolvedUsingType of type_info|VectorType of type_info|ExtVectorType of type_infotype 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_kindtype 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_kindtype 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_is_overloaded : 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_kindtype expr_info= Clang_ast_t.expr_info={ei_qual_type : qual_type;ei_value_kind : value_kind;ei_object_kind : object_kind;}type version_tuple= Clang_ast_t.version_tuple={vt_major : int;vt_minor : int option;vt_subminor : int option;vt_build : int option;}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=|DefaultVisibility|HiddenVisibility|ProtectedVisibilitytype attribute= Clang_ast_t.attributetype template_instantiation_arg_info= Clang_ast_t.template_instantiation_arg_infotype comment= Clang_ast_t.comment=|BlockCommandComment of comment_info * comment list|ParamCommandComment of comment_info * comment list|TParamCommandComment of comment_info * comment list|VerbatimBlockComment of comment_info * comment list|VerbatimLineComment of comment_info * comment list|ParagraphComment of comment_info * comment list|FullComment of comment_info * comment list|HTMLEndTagComment of comment_info * comment list|HTMLStartTagComment of comment_info * comment list|InlineCommandComment of comment_info * comment list|TextComment of comment_info * comment list|VerbatimBlockLineComment of comment_info * comment listtype 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 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_catch_stmt_info= Clang_ast_t.cxx_catch_stmt_info={xcsi_variable : decl option;}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_default_expr_info= Clang_ast_t.cxx_default_expr_info={xdaei_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_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_destructor : decl_ref option;xrdi_lambda_call_operator : decl_ref option;xrdi_lambda_captures : lambda_capture_info list;}and decl= Clang_ast_t.decl=and enum_constant_decl_info= Clang_ast_t.enum_constant_decl_info={ecdi_init_expr : stmt option;}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_infoand 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_delete_as_written : bool;fdi_is_no_return : bool;fdi_is_constexpr : bool;fdi_is_variadic : bool;fdi_is_static : bool;fdi_parameters : decl list;fdi_decl_ptr_with_body : pointer option;fdi_body : stmt option;fdi_template_specialization : template_specialization_info option;}and generic_selection_info= Clang_ast_t.generic_selection_info={gse_value : stmt 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 lambda_expr_info= Clang_ast_t.lambda_expr_info={lei_lambda_decl : decl;}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_kindand 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 opaque_value_expr_info= Clang_ast_t.opaque_value_expr_info={ovei_source_expr : stmt option;}and stmt= Clang_ast_t.stmt=|GCCAsmStmt of stmt_info * stmt list|MSAsmStmt of stmt_info * stmt list|BreakStmt of stmt_info * stmt list|CXXCatchStmt of stmt_info * stmt list * cxx_catch_stmt_info|CXXForRangeStmt of stmt_info * stmt list|CXXTryStmt of stmt_info * stmt list|CapturedStmt of stmt_info * stmt list|CompoundStmt of stmt_info * stmt list|ContinueStmt of stmt_info * stmt list|CoreturnStmt of stmt_info * stmt list|CoroutineBodyStmt of stmt_info * stmt list|DeclStmt of stmt_info * stmt list * decl list|DoStmt of stmt_info * stmt list|ForStmt of stmt_info * stmt list|GotoStmt of stmt_info * stmt list * goto_stmt_info|IfStmt of stmt_info * stmt list * if_stmt_info|IndirectGotoStmt of stmt_info * stmt list|MSDependentExistsStmt of stmt_info * stmt list|NullStmt of stmt_info * stmt list|OMPAtomicDirective of stmt_info * stmt list|OMPBarrierDirective of stmt_info * stmt list|OMPCancelDirective of stmt_info * stmt list|OMPCancellationPointDirective of stmt_info * stmt list|OMPCriticalDirective of stmt_info * stmt list|OMPDepobjDirective of stmt_info * stmt list|OMPFlushDirective of stmt_info * stmt list|OMPDistributeDirective of stmt_info * stmt list|OMPDistributeParallelForDirective of stmt_info * stmt list|OMPDistributeParallelForSimdDirective of stmt_info * stmt list|OMPDistributeSimdDirective of stmt_info * stmt list|OMPForDirective of stmt_info * stmt list|OMPForSimdDirective of stmt_info * stmt list|OMPMasterTaskLoopDirective of stmt_info * stmt list|OMPMasterTaskLoopSimdDirective of stmt_info * stmt list|OMPParallelForDirective of stmt_info * stmt list|OMPParallelForSimdDirective of stmt_info * stmt list|OMPParallelMasterTaskLoopDirective of stmt_info * stmt list|OMPParallelMasterTaskLoopSimdDirective of stmt_info * stmt list|OMPSimdDirective of stmt_info * stmt list|OMPTargetParallelForSimdDirective of stmt_info * stmt list|OMPTargetSimdDirective of stmt_info * stmt list|OMPTargetTeamsDistributeDirective of stmt_info * stmt list|OMPTargetTeamsDistributeParallelForDirective of stmt_info * stmt list|OMPTargetTeamsDistributeParallelForSimdDirective of stmt_info * stmt list|OMPTargetTeamsDistributeSimdDirective of stmt_info * stmt list|OMPTaskLoopDirective of stmt_info * stmt list|OMPTaskLoopSimdDirective of stmt_info * stmt list|OMPTeamsDistributeDirective of stmt_info * stmt list|OMPTeamsDistributeParallelForDirective of stmt_info * stmt list|OMPTeamsDistributeParallelForSimdDirective of stmt_info * stmt list|OMPTeamsDistributeSimdDirective of stmt_info * stmt list|OMPMasterDirective of stmt_info * stmt list|OMPOrderedDirective of stmt_info * stmt list|OMPParallelDirective of stmt_info * stmt list|OMPParallelMasterDirective of stmt_info * stmt list|OMPParallelSectionsDirective of stmt_info * stmt list|OMPScanDirective of stmt_info * stmt list|OMPSectionDirective of stmt_info * stmt list|OMPSectionsDirective of stmt_info * stmt list|OMPSingleDirective of stmt_info * stmt list|OMPTargetDataDirective of stmt_info * stmt list|OMPTargetDirective of stmt_info * stmt list|OMPTargetEnterDataDirective of stmt_info * stmt list|OMPTargetExitDataDirective of stmt_info * stmt list|OMPTargetParallelDirective of stmt_info * stmt list|OMPTargetParallelForDirective of stmt_info * stmt list|OMPTargetTeamsDirective of stmt_info * stmt list|OMPTargetUpdateDirective of stmt_info * stmt list|OMPTaskDirective of stmt_info * stmt list|OMPTaskgroupDirective of stmt_info * stmt list|OMPTaskwaitDirective of stmt_info * stmt list|OMPTaskyieldDirective of stmt_info * stmt list|OMPTeamsDirective of stmt_info * stmt list|ObjCAtCatchStmt of stmt_info * stmt list * obj_c_message_expr_kind|ObjCAtFinallyStmt of stmt_info * stmt list|ObjCAtSynchronizedStmt of stmt_info * stmt list|ObjCAtThrowStmt of stmt_info * stmt list|ObjCAtTryStmt of stmt_info * stmt list|ObjCAutoreleasePoolStmt of stmt_info * stmt list|ObjCForCollectionStmt of stmt_info * stmt list|ReturnStmt of stmt_info * stmt list|SEHExceptStmt of stmt_info * stmt list|SEHFinallyStmt of stmt_info * stmt list|SEHLeaveStmt of stmt_info * stmt list|SEHTryStmt of stmt_info * stmt list|CaseStmt of stmt_info * stmt list|DefaultStmt of stmt_info * stmt list|SwitchStmt of stmt_info * stmt list * switch_stmt_info|AttributedStmt of stmt_info * stmt list * attribute list|BinaryConditionalOperator of stmt_info * stmt list * expr_info|ConditionalOperator of stmt_info * stmt list * expr_info|AddrLabelExpr of stmt_info * stmt list * expr_info * addr_label_expr_info|ArrayInitIndexExpr of stmt_info * stmt list * expr_info|ArrayInitLoopExpr of stmt_info * stmt list * expr_info|ArraySubscriptExpr of stmt_info * stmt list * expr_info|ArrayTypeTraitExpr of stmt_info * stmt list * expr_info|AsTypeExpr of stmt_info * stmt list * expr_info|AtomicExpr of stmt_info * stmt list * expr_info|BinaryOperator of stmt_info * stmt list * expr_info * binary_operator_info|CompoundAssignOperator of stmt_info * stmt list * expr_info * binary_operator_info * compound_assign_operator_info|BlockExpr of stmt_info * stmt list * expr_info * decl|CXXBindTemporaryExpr of stmt_info * stmt list * expr_info * cxx_bind_temporary_expr_info|CXXBoolLiteralExpr of stmt_info * stmt list * expr_info * int|CXXConstructExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info|CXXTemporaryObjectExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info|CXXDefaultArgExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info|CXXDefaultInitExpr of stmt_info * stmt list * expr_info * cxx_default_expr_info|CXXDeleteExpr of stmt_info * stmt list * expr_info * cxx_delete_expr_info|CXXDependentScopeMemberExpr of stmt_info * stmt list * expr_info|CXXFoldExpr of stmt_info * stmt list * expr_info|CXXInheritedCtorInitExpr of stmt_info * stmt list * expr_info * cxx_construct_expr_info|CXXNewExpr of stmt_info * stmt list * expr_info * cxx_new_expr_info|CXXNoexceptExpr of stmt_info * stmt list * expr_info * cxx_noexcept_expr_info|CXXNullPtrLiteralExpr of stmt_info * stmt list * expr_info|CXXPseudoDestructorExpr of stmt_info * stmt list * expr_info|CXXRewrittenBinaryOperator of stmt_info * stmt list * expr_info|CXXScalarValueInitExpr of stmt_info * stmt list * expr_info|CXXStdInitializerListExpr of stmt_info * stmt list * expr_info|CXXThisExpr of stmt_info * stmt list * expr_info|CXXThrowExpr of stmt_info * stmt list * expr_info|CXXTypeidExpr of stmt_info * stmt list * expr_info|CXXUnresolvedConstructExpr of stmt_info * stmt list * expr_info|CXXUuidofExpr of stmt_info * stmt list * expr_info|CallExpr of stmt_info * stmt list * expr_info|CUDAKernelCallExpr of stmt_info * stmt list * expr_info|CXXMemberCallExpr of stmt_info * stmt list * expr_info|CXXOperatorCallExpr of stmt_info * stmt list * expr_info|UserDefinedLiteral of stmt_info * stmt list * expr_info|BuiltinBitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type|CStyleCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type|CXXFunctionalCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type|CXXAddrspaceCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string|CXXConstCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string|CXXDynamicCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string|CXXReinterpretCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string|CXXStaticCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * string|ObjCBridgedCastExpr of stmt_info * stmt list * expr_info * cast_expr_info * qual_type * obj_c_bridged_cast_expr_info|ImplicitCastExpr of stmt_info * stmt list * expr_info * cast_expr_info|CharacterLiteral of stmt_info * stmt list * expr_info * int|ChooseExpr of stmt_info * stmt list * expr_info|CompoundLiteralExpr of stmt_info * stmt list * expr_info|ConceptSpecializationExpr of stmt_info * stmt list * expr_info|ConvertVectorExpr of stmt_info * stmt list * expr_info|CoawaitExpr of stmt_info * stmt list * expr_info|CoyieldExpr of stmt_info * stmt list * expr_info|DeclRefExpr of stmt_info * stmt list * expr_info * decl_ref_expr_info|DependentCoawaitExpr of stmt_info * stmt list * expr_info|DependentScopeDeclRefExpr of stmt_info * stmt list * expr_info|DesignatedInitExpr of stmt_info * stmt list * expr_info|DesignatedInitUpdateExpr of stmt_info * stmt list * expr_info|ExpressionTraitExpr of stmt_info * stmt list * expr_info|ExtVectorElementExpr of stmt_info * stmt list * expr_info|FixedPointLiteral of stmt_info * stmt list * expr_info * string|FloatingLiteral of stmt_info * stmt list * expr_info * string|ConstantExpr of stmt_info * stmt list * expr_info|ExprWithCleanups of stmt_info * stmt list * expr_info * expr_with_cleanups_info|FunctionParmPackExpr of stmt_info * stmt list * expr_info|GNUNullExpr of stmt_info * stmt list * expr_info|GenericSelectionExpr of stmt_info * stmt list * expr_info * generic_selection_info|ImaginaryLiteral of stmt_info * stmt list * expr_info|ImplicitValueInitExpr of stmt_info * stmt list * expr_info|InitListExpr of stmt_info * stmt list * expr_info|IntegerLiteral of stmt_info * stmt list * expr_info * integer_literal_info|LambdaExpr of stmt_info * stmt list * expr_info * lambda_expr_info|MSPropertyRefExpr of stmt_info * stmt list * expr_info|MSPropertySubscriptExpr of stmt_info * stmt list * expr_info|MaterializeTemporaryExpr of stmt_info * stmt list * expr_info * materialize_temporary_expr_info|MatrixSubscriptExpr of stmt_info * stmt list * expr_info|MemberExpr of stmt_info * stmt list * expr_info * member_expr_info|NoInitExpr of stmt_info * stmt list * expr_info|OMPArraySectionExpr of stmt_info * stmt list * expr_info|OMPArrayShapingExpr of stmt_info * stmt list * expr_info|OMPIteratorExpr of stmt_info * stmt list * expr_info|ObjCArrayLiteral of stmt_info * stmt list * expr_info * obj_c_array_literal_expr_info|ObjCAvailabilityCheckExpr of stmt_info * stmt list * expr_info * obj_c_availability_check_expr_info|ObjCBoolLiteralExpr of stmt_info * stmt list * expr_info * int|ObjCBoxedExpr of stmt_info * stmt list * expr_info * objc_boxed_expr_info|ObjCDictionaryLiteral of stmt_info * stmt list * expr_info * obj_c_dictionary_literal_expr_info|ObjCEncodeExpr of stmt_info * stmt list * expr_info * objc_encode_expr_info|ObjCIndirectCopyRestoreExpr of stmt_info * stmt list * expr_info|ObjCIsaExpr of stmt_info * stmt list * expr_info|ObjCIvarRefExpr of stmt_info * stmt list * expr_info * obj_c_ivar_ref_expr_info|ObjCMessageExpr of stmt_info * stmt list * expr_info * obj_c_message_expr_info|ObjCPropertyRefExpr of stmt_info * stmt list * expr_info * obj_c_property_ref_expr_info|ObjCProtocolExpr of stmt_info * stmt list * expr_info * decl_ref|ObjCSelectorExpr of stmt_info * stmt list * expr_info * selector|ObjCStringLiteral of stmt_info * stmt list * expr_info|ObjCSubscriptRefExpr of stmt_info * stmt list * expr_info * obj_c_subscript_ref_expr_info|OffsetOfExpr of stmt_info * stmt list * expr_info * offset_of_expr_info|OpaqueValueExpr of stmt_info * stmt list * expr_info * opaque_value_expr_info|UnresolvedLookupExpr of stmt_info * stmt list * expr_info * overload_expr_info * unresolved_lookup_expr_info|UnresolvedMemberExpr of stmt_info * stmt list * expr_info * overload_expr_info|PackExpansionExpr of stmt_info * stmt list * expr_info|ParenExpr of stmt_info * stmt list * expr_info|ParenListExpr of stmt_info * stmt list * expr_info|PredefinedExpr of stmt_info * stmt list * expr_info * predefined_expr_type|PseudoObjectExpr of stmt_info * stmt list * expr_info|RecoveryExpr of stmt_info * stmt list * expr_info|RequiresExpr of stmt_info * stmt list * expr_info|ShuffleVectorExpr of stmt_info * stmt list * expr_info|SizeOfPackExpr of stmt_info * stmt list * expr_info|SourceLocExpr of stmt_info * stmt list * expr_info|StmtExpr of stmt_info * stmt list * expr_info|StringLiteral of stmt_info * stmt list * expr_info * string list|SubstNonTypeTemplateParmExpr of stmt_info * stmt list * expr_info|SubstNonTypeTemplateParmPackExpr of stmt_info * stmt list * expr_info|TypeTraitExpr of stmt_info * stmt list * expr_info * type_trait_info|TypoExpr of stmt_info * stmt list * expr_info|UnaryExprOrTypeTraitExpr of stmt_info * stmt list * expr_info * unary_expr_or_type_trait_expr_info|UnaryOperator of stmt_info * stmt list * expr_info * unary_operator_info|VAArgExpr of stmt_info * stmt list * expr_info|LabelStmt of stmt_info * stmt list * string|WhileStmt of stmt_info * stmt listand switch_stmt_info= Clang_ast_t.switch_stmt_info={ssi_init : pointer option;ssi_cond_var : stmt option;ssi_cond : pointer;ssi_body : pointer;}and template_decl_info= Clang_ast_t.template_decl_info={tdi_specializations : decl list;}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 lookup= Clang_ast_t.lookup={lup_decl_name : string;lup_decl_refs : decl_ref list;}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 optionValidate a value of type
access_specifier.
val validate_attribute_kind : Atdgen_runtime.Util.Validation.path -> attribute_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
attribute_kind.
val validate_binary_operator_kind : Atdgen_runtime.Util.Validation.path -> binary_operator_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
binary_operator_kind.
val create_binary_operator_info : boi_kind:binary_operator_kind -> unit -> binary_operator_infoCreate 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 optionValidate 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 optionValidate a value of type
builtin_type_kind.
val validate_cast_kind : Atdgen_runtime.Util.Validation.path -> cast_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
cast_kind.
val create_cxx_base_specifier : xbs_name:string -> ?xbs_virtual:bool -> unit -> cxx_base_specifierCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
cast_expr_info.
val create_cxx_noexcept_expr_info : ?xnee_value:bool -> unit -> cxx_noexcept_expr_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
decl_context_info.
val validate_decl_kind : Atdgen_runtime.Util.Validation.path -> decl_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
decl_kind.
val validate_declaration_name_kind : Atdgen_runtime.Util.Validation.path -> declaration_name_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
declaration_name_kind.
val create_declaration_name : dn_kind:declaration_name_kind -> dn_name:string -> unit -> declaration_nameCreate a record of type
declaration_name.
val validate_declaration_name : Atdgen_runtime.Util.Validation.path -> declaration_name -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
declaration_name.
val validate_enum_decl_scope : Atdgen_runtime.Util.Validation.path -> enum_decl_scope -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate 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 optionValidate a value of type
enum_decl_info.
val validate_input_kind : Atdgen_runtime.Util.Validation.path -> input_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
input_kind.
val create_integer_literal_info : ?ili_is_signed:bool -> ili_bitwidth:int -> ili_value:string -> unit -> integer_literal_infoCreate 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 optionValidate 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_widthsCreate 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 optionValidate 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 optionValidate a value of type
lambda_capture_kind.
val create_named_decl_info : ni_name:string -> ni_qual_name:string list -> unit -> named_decl_infoCreate 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 optionValidate a value of type
named_decl_info.
val validate_obj_c_access_control : Atdgen_runtime.Util.Validation.path -> obj_c_access_control -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate 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 optionValidate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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 optionValidate 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 optionValidate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
attr_type_info.
val validate_object_kind : Atdgen_runtime.Util.Validation.path -> object_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
object_kind.
val create_offset_of_expr_info : ?ooe_literal:integer_literal_info -> unit -> offset_of_expr_infoCreate 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 optionValidate a value of type
offset_of_expr_info.
val validate_pointer : Atdgen_runtime.Util.Validation.path -> pointer -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
pointer.
val create_addr_label_expr_info : alei_label:string -> alei_pointer:pointer -> unit -> addr_label_expr_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
cxx_new_expr_info.
val validate_cxx_temporary : Atdgen_runtime.Util.Validation.path -> cxx_temporary -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
cxx_temporary.
val create_cxx_bind_temporary_expr_info : xbtei_cxx_temporary:cxx_temporary -> unit -> cxx_bind_temporary_expr_infoCreate 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 optionValidate a value of type
cxx_bind_temporary_expr_info.
val create_goto_stmt_info : gsi_label:string -> gsi_pointer:pointer -> unit -> goto_stmt_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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 optionValidate a value of type
predefined_expr_type.
val validate_property_attribute : Atdgen_runtime.Util.Validation.path -> property_attribute -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
property_attribute.
val validate_property_implementation : Atdgen_runtime.Util.Validation.path -> property_implementation -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate 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 optionValidate a value of type
record_decl_info.
val validate_selector : Atdgen_runtime.Util.Validation.path -> selector -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
selector.
val create_obj_c_method_ref_info : ?mri_getter:selector -> ?mri_setter:selector -> unit -> obj_c_method_ref_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
obj_c_subscript_ref_expr_info.
val create_objc_boxed_expr_info : ?obei_boxing_method:selector -> unit -> objc_boxed_expr_infoCreate 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 optionValidate a value of type
objc_boxed_expr_info.
val create_sentinel_attr_info : sai_sentinel:int -> sai_null_pos:int -> unit -> sentinel_attr_infoCreate 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 optionValidate a value of type
sentinel_attr_info.
val validate_source_file : Atdgen_runtime.Util.Validation.path -> source_file -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
source_file.
val create_source_location : ?sl_file:source_file -> ?sl_line:int -> ?sl_column:int -> unit -> source_locationCreate a record of type
source_location.
val validate_source_location : Atdgen_runtime.Util.Validation.path -> source_location -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
source_location.
val validate_source_range : Atdgen_runtime.Util.Validation.path -> source_range -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
source_range.
val create_attribute_info : ai_pointer:pointer -> ai_source_range:source_range -> unit -> attribute_infoCreate a record of type
attribute_info.
val validate_attribute_info : Atdgen_runtime.Util.Validation.path -> attribute_info -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
attribute_info.
val validate_attr_tuple : Atdgen_runtime.Util.Validation.path -> attr_tuple -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
attr_tuple.
val create_comment_info : ci_parent_pointer:pointer -> ci_source_range:source_range -> unit -> comment_infoCreate a record of type
comment_info.
val validate_comment_info : Atdgen_runtime.Util.Validation.path -> comment_info -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
comment_info.
val validate_specifier_kind : Atdgen_runtime.Util.Validation.path -> specifier_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
specifier_kind.
val create_stmt_info : si_pointer:pointer -> si_source_range:source_range -> unit -> stmt_infoCreate a record of type
stmt_info.
val validate_stmt_info : Atdgen_runtime.Util.Validation.path -> stmt_info -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
stmt_info.
val validate_tag_kind : Atdgen_runtime.Util.Validation.path -> tag_kind -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
tag_kind.
val validate_type_ptr : Atdgen_runtime.Util.Validation.path -> type_ptr -> Atdgen_runtime.Util.Validation.error optionValidate 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_typeCreate a record of type
qual_type.
val validate_qual_type : Atdgen_runtime.Util.Validation.path -> qual_type -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
qual_type.
val create_array_type_info : arti_element_type:qual_type -> ?arti_stride:int -> unit -> array_type_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_refCreate a record of type
decl_ref.
val validate_decl_ref : Atdgen_runtime.Util.Validation.path -> decl_ref -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate 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 optionValidate 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 optionValidate a value of type
cxx_ctor_initializer_subject.
val create_decl_ref_expr_info : ?drti_decl_ref:decl_ref -> ?drti_found_decl_ref:decl_ref -> unit -> decl_ref_expr_infoCreate 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 optionValidate a value of type
decl_ref_expr_info.
val create_expr_with_cleanups_info : ?ewci_decl_refs:decl_ref list -> unit -> expr_with_cleanups_infoCreate 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 optionValidate a value of type
expr_with_cleanups_info.
val create_function_type_info : fti_return_type:qual_type -> unit -> function_type_infoCreate 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 optionValidate a value of type
function_type_info.
val create_materialize_temporary_expr_info : ?mtei_decl_ref:decl_ref -> unit -> materialize_temporary_expr_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
member_expr_info.
val create_namespace_decl_info : ?ndi_is_inline:bool -> ?ndi_original_namespace:decl_ref -> unit -> namespace_decl_infoCreate 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 optionValidate a value of type
namespace_decl_info.
val create_nested_name_specifier_loc : nnsl_kind:specifier_kind -> ?nnsl_ref:decl_ref -> unit -> nested_name_specifier_locCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
overload_expr_info.
val create_params_type_info : ?pti_params_type:qual_type list -> unit -> params_type_infoCreate 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 optionValidate 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 optionValidate 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_infoCreate 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 optionValidate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
obj_c_message_expr_info.
val create_type_info : ti_pointer:pointer -> ?ti_desugared_type:type_ptr -> unit -> type_infoCreate a record of type
type_info.
val validate_type_info : Atdgen_runtime.Util.Validation.path -> type_info -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
type_info.
val create_type_trait_info : ?xtti_value:bool -> unit -> type_trait_infoCreate 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 optionValidate a value of type
type_trait_info.
val create_typedef_decl_info : ?tdi_is_module_private:bool -> unit -> typedef_decl_infoCreate 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 optionValidate a value of type
typedef_decl_info.
val create_typedef_type_info : tti_child_type:qual_type -> tti_decl_ptr:pointer -> unit -> typedef_type_infoCreate 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 optionValidate a value of type
typedef_type_info.
val validate_c_type : Atdgen_runtime.Util.Validation.path -> c_type -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate 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 optionValidate 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 optionValidate 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_infoCreate 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 optionValidate 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 optionValidate a value of type
unary_operator_kind.
val create_unary_operator_info : uoi_kind:unary_operator_kind -> ?uoi_is_postfix:bool -> unit -> unary_operator_infoCreate 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 optionValidate a value of type
unary_operator_info.
val create_unresolved_lookup_expr_info : ?ulei_requires_ADL:bool -> ?ulei_is_overloaded:bool -> ?ulei_naming_class:decl_ref -> unit -> unresolved_lookup_expr_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
using_directive_decl_info.
val validate_value_kind : Atdgen_runtime.Util.Validation.path -> value_kind -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate a record of type
expr_info.
val validate_expr_info : Atdgen_runtime.Util.Validation.path -> expr_info -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
expr_info.
val create_version_tuple : vt_major:int -> ?vt_minor:int -> ?vt_subminor:int -> ?vt_build:int -> unit -> version_tupleCreate a record of type
version_tuple.
val validate_version_tuple : Atdgen_runtime.Util.Validation.path -> version_tuple -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
version_tuple.
val create_availability_attr_info : ?aai_platform:string -> aai_introduced:version_tuple -> unit -> availability_attr_infoCreate 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 optionValidate a value of type
availability_attr_info.
val validate_visibility_attr : Atdgen_runtime.Util.Validation.path -> visibility_attr -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
visibility_attr.
val validate_attribute : Atdgen_runtime.Util.Validation.path -> attribute -> Atdgen_runtime.Util.Validation.error optionValidate 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 optionValidate a value of type
template_instantiation_arg_info.
val validate_comment : Atdgen_runtime.Util.Validation.path -> comment -> Atdgen_runtime.Util.Validation.error optionValidate 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_infoCreate 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 optionValidate 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_infoCreate a record of type
decl_info.
val validate_decl_info : Atdgen_runtime.Util.Validation.path -> decl_info -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
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_variableCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
block_decl_info.
val create_cxx_catch_stmt_info : ?xcsi_variable:decl -> unit -> cxx_catch_stmt_infoCreate 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 optionValidate 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_initializerCreate 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 optionValidate a value of type
cxx_ctor_initializer.
val create_cxx_default_expr_info : ?xdaei_init_expr:stmt -> unit -> cxx_default_expr_infoCreate 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 optionValidate a value of type
cxx_default_expr_info.
val create_cxx_method_decl_info : ?xmdi_is_virtual:bool -> ?xmdi_is_static:bool -> ?xmdi_cxx_ctor_initializers:cxx_ctor_initializer list -> ?xmdi_overriden_methods:decl_ref list -> unit -> cxx_method_decl_infoCreate 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 optionValidate 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_destructor:decl_ref -> ?xrdi_lambda_call_operator:decl_ref -> ?xrdi_lambda_captures:lambda_capture_info list -> unit -> cxx_record_decl_infoCreate 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 optionValidate a value of type
cxx_record_decl_info.
val validate_decl : Atdgen_runtime.Util.Validation.path -> decl -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
decl.
val create_enum_constant_decl_info : ?ecdi_init_expr:stmt -> unit -> enum_constant_decl_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
field_decl_info.
val validate_friend_info : Atdgen_runtime.Util.Validation.path -> friend_info -> Atdgen_runtime.Util.Validation.error optionValidate 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_delete_as_written:bool -> ?fdi_is_no_return:bool -> ?fdi_is_constexpr:bool -> ?fdi_is_variadic:bool -> ?fdi_is_static:bool -> ?fdi_parameters:decl list -> ?fdi_decl_ptr_with_body:pointer -> ?fdi_body:stmt -> ?fdi_template_specialization:template_specialization_info -> unit -> function_decl_infoCreate 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 optionValidate a value of type
function_decl_info.
val create_generic_selection_info : ?gse_value:stmt -> unit -> generic_selection_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
lambda_capture_info.
val create_lambda_expr_info : lei_lambda_decl:decl -> unit -> lambda_expr_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
obj_c_method_decl_info.
val create_opaque_value_expr_info : ?ovei_source_expr:stmt -> unit -> opaque_value_expr_infoCreate 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 optionValidate a value of type
opaque_value_expr_info.
val validate_stmt : Atdgen_runtime.Util.Validation.path -> stmt -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
stmt.
val create_switch_stmt_info : ?ssi_init:pointer -> ?ssi_cond_var:stmt -> ssi_cond:pointer -> ssi_body:pointer -> unit -> switch_stmt_infoCreate 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 optionValidate a value of type
switch_stmt_info.
val create_template_decl_info : ?tdi_specializations:decl list -> unit -> template_decl_infoCreate 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 optionValidate 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_infoCreate 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 optionValidate a value of type
var_decl_info.
val create_lookup : lup_decl_name:string -> lup_decl_refs:decl_ref list -> unit -> lookupCreate a record of type
lookup.
val validate_lookup : Atdgen_runtime.Util.Validation.path -> lookup -> Atdgen_runtime.Util.Validation.error optionValidate a value of type
lookup.