package diffast-langs-cpp-parsing

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

Innovation. Community. Security.