package diffast-langs-cpp-parsing

  1. Overview
  2. Docs

Module Cpp_parsing.AstSource

module Xlist = Diffast_misc.Xlist
module Binding = Diffast_misc.Binding
module Astloc = Langs_common.Astloc
module Layeredloc = Langs_common.Layeredloc
module Ast_base = Langs_common.Ast_base
module Loc = Astloc
module LLoc = Layeredloc
Sourcemodule I = Pinfo
module B = Binding
module BID = Binding.ID
Sourcemodule L = Label
Sourcemodule N = Pinfo.Name
Sourcemodule Type = Pinfo.Type
Sourceval mk_macro_id : string -> string
Sourceval mk_macro_call_id : ?args:string -> string -> string
Sourceval args_to_simple_string : < label : L.t.. > list -> string
Sourceval dummy_node_id : int
Sourceclass node : ?lloc:LLoc.c option -> ?children:node list option -> ?info:I.t option -> ?pvec: int list option -> L.t -> object ... end
Sourceval node_opt_to_name_opt : < get_name : 'a.. > option -> 'a option
Sourceval node_list_to_name_list : < get_name_opt : 'a option.. > list -> 'a list
Sourceval lloc_of_lexposs : Lexing.position -> Lexing.position -> LLoc.c
Sourceval mknode : 'a -> Lexing.position -> Lexing.position -> ?info:I.t -> ?pvec:int list -> L.t -> node list -> node
Sourceval mkleaf : 'a -> Lexing.position -> Lexing.position -> ?info:I.t -> ?pvec:int list -> L.t -> node
Sourceval reloc : 'a -> Lexing.position -> Lexing.position -> < set_lloc : LLoc.c -> 'b.. > -> 'b
Sourceval reloc_end : 'a -> Lexing.position -> < lloc : LLoc.c ; set_lloc : LLoc.c -> 'b.. > -> 'b
Sourceexception Node_found of node
Sourceexception Type_not_found
Sourceval find_node : (L.t -> bool) -> node -> node
Sourceval node_exists : (L.t -> bool) -> node -> bool
Sourceval find_nodes : (L.t -> bool) -> node -> node list
Sourceval int_pat : Str.regexp
Sourceval char_pat : Str.regexp
Sourceval str_pat : Str.regexp
Sourceval get_char_ty_v : Str.regexp -> string -> string * string
Sourceval encode_ident : string -> string
Sourceval decode_ident : string -> string
Sourceval prefix_of_encoded : string -> string
Sourceval encode_name : string -> string
Sourceval encode_pointer_op : Type.pointer_op -> string
Sourceval encode_type_ : Type.t_ -> Common.ident
Sourceval encode_type : Type.t -> Common.ident
Sourceval encode_pointer_ty : Type.pointer_ty -> string
Sourceval encode_function_ty : Type.function_ty -> string
Sourceval encode_expr : node -> Common.ident
Sourceval encode_type_id : node -> Common.ident
Sourceval encode_nested_name_spec : node -> Common.ident
Sourceval encode_decltype : node -> Common.ident
Sourceval encode_type_name : node -> Common.ident
Sourceval encode_op : ?unary:bool -> node -> string
Sourceval encode_template_arguments : node list -> string
Sourceval encode_string_literal : node -> string
Sourceval uqn_of_ident_macro_invocation : node -> Common.ident
Sourceval uqn_of_simple_template_id : node -> Common.ident
Sourceval qn_of_elaborated_type_specifier : node -> Common.ident
Sourceval qn_of_simple_type_specifier : node -> Common.ident
Sourceval qn_of_typename_specifier : node -> Common.ident
Sourceval uqn_of_type_name : node -> Common.ident
Sourceval uqn_of_unqualified_id : node -> Common.ident
Sourceval uqn_of_conversion_function_id : node -> Common.ident
Sourceval uqn_of_operator_function_id : node -> Common.ident
Sourceval uqn_of_literal_operator_id : node -> Common.ident
Sourceval uqn_of_template_id : node -> Common.ident
Sourceval type_spec_list_of_node_list : ?ns:Common.ident -> node list -> I.TypeSpec.t list
Sourceval qn_of_class_or_decltype : node -> Common.ident
Sourceval uqn_of_class_name : node -> Common.ident
Sourceval qn_of_class_head_name : node -> Common.name
Sourceval qn_of_enum_head_name : node -> Common.ident
Sourceval qn_list_of_using_declaration : node -> (Common.ident * Common.ident) list
Sourceval qn_of_using_declarator : node -> Common.ident * Common.ident
Sourceval qn_list_of_using_enum_declaration : node -> (Common.ident * Common.ident) list
Sourceval qn_of_using_enum_declarator : node -> Common.ident * Common.ident
Sourceval qn_of_qualified_id : node -> Common.ident
Sourceval qn_of_id_expression : node -> Common.ident
Sourceval qn_of_declarator_id : node -> Common.ident
Sourceval qualifiers_of_node_list : node list -> I.qualifiers
Sourceval virt_specs_of_node_list : node list -> I.virt_specs
Sourceval nested_namespace_of_node : node -> NestedNS.t
Sourceval access_spec_of_node : node -> N.Spec.access_spec
Sourceval base_spec_of_node : string -> node -> N.Spec.base_spec
Sourceval alt_base_specs_list_of_node : string -> node -> N.Spec.base_spec list list
Sourceval base_specs_of_base_clause : string -> node -> N.Spec.base_spec list * N.Spec.base_spec list list
Sourceval qn_class_spec_of_class : string -> node -> Common.name * N.Spec.class_spec
Sourceval qn_enum_spec_of_enum : 'a -> node -> Common.ident * N.Spec.enum_spec
Sourceval ident_type_param_spec_of_type_param : node -> Common.ident * N.Spec.param_spec
Sourceval pointer_op_of_node : node -> Type.pointer_op
Sourceval qn_type_list_of_simple_decl : node -> (node * Common.name * Type.t) list
Sourceval qn_type_list_of_enumerator : N.Scope.t -> node -> (node * string * I.Type.t) list
Sourceval qn_type_list_of_mem_decl : node -> (node * Common.name * Type.t) list
Sourceval qn_type_of_func_def : node -> Common.name * Type.t
Sourceval qn_wrap_of_init_declarator : node -> Common.name * (Type.t -> Type.t)
Sourceval qn_wrap_of_mem_declarator : node -> Common.name * (Type.t -> Type.t)
Sourceval qn_wrap_of_declarator : ?ty_opt:Type.t option -> node -> Common.name * (Type.t -> Type.t)
Sourceval type_of_trailing_ret_type : node -> Type.t
Sourceval type_of_type_id : node -> Type.t
Sourceval wrap_of_params_and_quals : node -> Type.t -> Type.t
Sourceval param_tys_and_is_vararg_of_param_decl_clause : node -> Type.t list * bool
Sourceval type_of_param_decl : node -> Type.t
Sourceval qn_type_of_param_decl : node -> node * Common.name * Type.t
Sourceval qn_type_list_of_param_decl : node -> (node * Common.name * Type.t) list
Sourceval qn_type_of_exc_decl : node -> node * Common.name * Type.t
Sourceval enum_base_of_node : 'a -> node -> N.Spec.enum_base
Sourceval type_spec_of_node : ?ns:Common.ident -> node -> I.TypeSpec.t
Sourceval simple_type_of_class_head : node -> I.TypeSpec.t list
Sourceval simple_type_of_decl_spec_seq : node list -> Type.t
Sourceclass c : node -> object ... end
Sourceval dummy_node : node
Sourceval empty_node : node
Sourceval subtree_to_string : (< children : 'a list ; to_string : string.. > as 'a) -> string
Sourceval to_string : < root : < children : 'a list ; to_string : string.. > as 'a.. > -> string
Sourceval dump : < root : < children : 'a list ; to_string : string.. > as 'a.. > -> unit
Sourceval iter : (node -> 'a) -> c -> unit