package ast_generic

  1. Overview
  2. Docs
val version : string
val hash_fold_ref : ('a -> 'b -> 'c) -> 'd -> 'e Stdlib.ref -> 'f
type tok = Tok.t
val pp_tok : Ppx_deriving_runtime.Format.formatter -> tok -> Ppx_deriving_runtime.unit
val equal_tok : tok -> tok -> Ppx_deriving_runtime.bool
val hash_fold_tok : Base.Hash.state -> tok -> Base.Hash.state
val hash_tok : tok -> Base.Hash.hash_value
type 'a wrap = 'a * tok
val pp_wrap : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a wrap -> Ppx_deriving_runtime.unit
val show_wrap : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a wrap -> Ppx_deriving_runtime.string
val equal_wrap : 'a. ('a -> 'a -> Ppx_deriving_runtime.bool) -> 'a wrap -> 'a wrap -> Ppx_deriving_runtime.bool
val hash_fold_wrap : 'a. (Base.Hash.state -> 'a -> Base.Hash.state) -> Base.Hash.state -> 'a wrap -> Base.Hash.state
type 'a bracket = tok * 'a * tok
val pp_bracket : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a bracket -> Ppx_deriving_runtime.unit
val show_bracket : 'a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a bracket -> Ppx_deriving_runtime.string
val equal_bracket : 'a. ('a -> 'a -> Ppx_deriving_runtime.bool) -> 'a bracket -> 'a bracket -> Ppx_deriving_runtime.bool
val hash_fold_bracket : 'a. (Base.Hash.state -> 'a -> Base.Hash.state) -> Base.Hash.state -> 'a bracket -> Base.Hash.state
type sc = tok
val pp_sc : Ppx_deriving_runtime.Format.formatter -> sc -> Ppx_deriving_runtime.unit
val equal_sc : sc -> sc -> Ppx_deriving_runtime.bool
val hash_fold_sc : Base.Hash.state -> sc -> Base.Hash.state
val hash_sc : sc -> Base.Hash.hash_value
type todo_kind = string wrap
val pp_todo_kind : Ppx_deriving_runtime.Format.formatter -> todo_kind -> Ppx_deriving_runtime.unit
val show_todo_kind : todo_kind -> Ppx_deriving_runtime.string
val equal_todo_kind : todo_kind -> todo_kind -> Ppx_deriving_runtime.bool
val hash_fold_todo_kind : Base.Hash.state -> todo_kind -> Base.Hash.state
val hash_todo_kind : todo_kind -> Base.Hash.hash_value
type ident = string wrap
val pp_ident : Ppx_deriving_runtime.Format.formatter -> ident -> Ppx_deriving_runtime.unit
val equal_ident : ident -> ident -> Ppx_deriving_runtime.bool
val hash_fold_ident : Base.Hash.state -> ident -> Base.Hash.state
val hash_ident : ident -> Base.Hash.hash_value
type dotted_ident = ident list
val pp_dotted_ident : Ppx_deriving_runtime.Format.formatter -> dotted_ident -> Ppx_deriving_runtime.unit
val show_dotted_ident : dotted_ident -> Ppx_deriving_runtime.string
val equal_dotted_ident : dotted_ident -> dotted_ident -> Ppx_deriving_runtime.bool
val hash_fold_dotted_ident : Base.Hash.state -> dotted_ident -> Base.Hash.state
val hash_dotted_ident : dotted_ident -> Base.Hash.hash_value
type module_name =
  1. | DottedName of dotted_ident
  2. | FileName of string wrap
val pp_module_name : Ppx_deriving_runtime.Format.formatter -> module_name -> Ppx_deriving_runtime.unit
val show_module_name : module_name -> Ppx_deriving_runtime.string
val equal_module_name : module_name -> module_name -> Ppx_deriving_runtime.bool
val hash_fold_module_name : Base.Hash.state -> module_name -> Base.Hash.state
val hash_module_name : module_name -> Base.Hash.hash_value
module SId : sig ... end
module IdInfoId : sig ... end
type sid = SId.t
and resolved_name = resolved_name_kind * sid
and resolved_name_kind =
  1. | Global
  2. | LocalVar
  3. | Parameter
  4. | EnclosedVar
  5. | ImportedEntity of canonical_name
  6. | ImportedModule of canonical_name
  7. | TypeName
  8. | Macro
  9. | EnumConstant
  10. | GlobalName of canonical_name * alternate_name list
and canonical_name = string list
and alternate_name = string list
val pp_sid : Ppx_deriving_runtime.Format.formatter -> sid -> Ppx_deriving_runtime.unit
val pp_resolved_name : Ppx_deriving_runtime.Format.formatter -> resolved_name -> Ppx_deriving_runtime.unit
val show_resolved_name : resolved_name -> Ppx_deriving_runtime.string
val pp_resolved_name_kind : Ppx_deriving_runtime.Format.formatter -> resolved_name_kind -> Ppx_deriving_runtime.unit
val show_resolved_name_kind : resolved_name_kind -> Ppx_deriving_runtime.string
val pp_canonical_name : Ppx_deriving_runtime.Format.formatter -> canonical_name -> Ppx_deriving_runtime.unit
val show_canonical_name : canonical_name -> Ppx_deriving_runtime.string
val pp_alternate_name : Ppx_deriving_runtime.Format.formatter -> alternate_name -> Ppx_deriving_runtime.unit
val show_alternate_name : alternate_name -> Ppx_deriving_runtime.string
val equal_sid : sid -> sid -> Ppx_deriving_runtime.bool
val equal_resolved_name : resolved_name -> resolved_name -> Ppx_deriving_runtime.bool
val hash_fold_sid : Base.Hash.state -> sid -> Base.Hash.state
val hash_fold_resolved_name : Base.Hash.state -> resolved_name -> Base.Hash.state
val hash_fold_resolved_name_kind : Base.Hash.state -> resolved_name_kind -> Base.Hash.state
val hash_fold_canonical_name : Base.Hash.state -> canonical_name -> Base.Hash.state
val hash_sid : sid -> Base.Hash.hash_value
val hash_resolved_name : resolved_name -> Base.Hash.hash_value
val hash_resolved_name_kind : resolved_name_kind -> Base.Hash.hash_value
val hash_canonical_name : canonical_name -> Base.Hash.hash_value
val hash_alternate_name : alternate_name -> Base.Hash.hash_value
class virtual +'b iter_parent : object ... end
type name =
  1. | Id of ident * id_info
  2. | IdQualified of qualified_info
and qualified_info = {
  1. name_last : ident * type_arguments option;
  2. name_middle : qualifier option;
  3. name_top : tok option;
  4. name_info : id_info;
}
and qualifier =
  1. | QDots of (ident * type_arguments option) list
  2. | QExpr of expr * tok
and id_info = {
  1. id_resolved : resolved_name option Stdlib.ref;
  2. id_type : type_ option Stdlib.ref;
  3. id_svalue : svalue option Stdlib.ref;
  4. id_hidden : bool;
  5. id_info_id : id_info_id;
}
and id_info_id = IdInfoId.t
and expr = {
  1. e : expr_kind;
  2. e_id : int;
  3. mutable e_range : (Parse_info.token_location * Parse_info.token_location) option;
}
and expr_kind =
  1. | L of literal
  2. | Container of container_operator * expr list bracket
  3. | Comprehension of container_operator * comprehension bracket
  4. | Record of field list bracket
  5. | Constructor of name * expr list bracket
  6. | RegexpTemplate of expr bracket * string wrap option
  7. | N of name
  8. | IdSpecial of special wrap
  9. | Call of expr * arguments
  10. | New of tok * type_ * arguments
  11. | Xml of xml
  12. | Assign of expr * tok * expr
  13. | AssignOp of expr * operator wrap * expr
  14. | LetPattern of pattern * expr
  15. | DotAccess of expr * tok * field_name
  16. | ArrayAccess of expr * expr bracket
  17. | SliceAccess of expr * (expr option * expr option * expr option) bracket
  18. | Lambda of function_definition
  19. | AnonClass of class_definition
  20. | Conditional of expr * expr * expr
  21. | Yield of tok * expr option * bool
  22. | Await of tok * expr
  23. | Cast of type_ * tok * expr
  24. | Seq of expr list
  25. | Ref of tok * expr
  26. | DeRef of tok * expr
  27. | Alias of string wrap * expr
  28. | ParenExpr of expr bracket
  29. | Ellipsis of tok
  30. | DeepEllipsis of expr bracket
  31. | DisjExpr of expr * expr
  32. | TypedMetavar of ident * tok * type_
  33. | DotAccessEllipsis of expr * tok
  34. | StmtExpr of stmt
  35. | OtherExpr of todo_kind * any list
  36. | RawExpr of raw_tree
and literal =
  1. | Bool of bool wrap
  2. | Int of int option wrap
  3. | Float of float option wrap
  4. | Char of string wrap
  5. | String of string wrap bracket
  6. | Regexp of string wrap bracket * string wrap option
  7. | Atom of tok * string wrap
  8. | Unit of tok
  9. | Null of tok
  10. | Undefined of tok
  11. | Imag of string wrap
  12. | Ratio of string wrap
and const_type =
  1. | Cbool
  2. | Cint
  3. | Cstr
  4. | Cany
and svalue =
  1. | Lit of literal
  2. | Cst of const_type
  3. | Sym of expr
  4. | NotCst
and container_operator =
  1. | Array
  2. | List
  3. | Set
  4. | Dict
  5. | Tuple
and comprehension = expr * for_or_if_comp list
and for_or_if_comp =
  1. | CompFor of tok * pattern * tok * expr
  2. | CompIf of tok * expr
and field_name =
  1. | FN of name
  2. | FDynamic of expr
and special =
  1. | This
  2. | Super
  3. | Self
  4. | Parent
  5. | NextArrayIndex
  6. | Eval
  7. | Typeof
  8. | Instanceof
  9. | Sizeof
  10. | Defined
  11. | ConcatString of concat_string_kind
  12. | EncodedString of string
  13. | InterpolatedElement
  14. | Spread
  15. | HashSplat
  16. | ForOf
  17. | Op of operator
  18. | IncrDecr of incr_decr * prefix_postfix
  19. | Require
and operator =
  1. | Plus
  2. | Minus
  3. | Mult
  4. | Div
  5. | Mod
  6. | Pow
  7. | FloorDiv
  8. | MatMult
  9. | LSL
  10. | LSR
  11. | ASR
  12. | BitOr
  13. | BitXor
  14. | BitAnd
  15. | BitNot
  16. | BitClear
  17. | And
  18. | Or
  19. | Xor
  20. | Not
  21. | Eq
  22. | NotEq
  23. | PhysEq
  24. | NotPhysEq
  25. | Lt
  26. | LtE
  27. | Gt
  28. | GtE
  29. | Cmp
  30. | Concat
  31. | Append
  32. | RegexpMatch
  33. | NotMatch
  34. | Range
  35. | RangeInclusive
  36. | NotNullPostfix
  37. | Length
  38. | Elvis
  39. | Nullish
  40. | In
  41. | NotIn
  42. | Is
  43. | NotIs
  44. | Background
  45. | Pipe
and incr_decr =
  1. | Incr
  2. | Decr
and prefix_postfix =
  1. | Prefix
  2. | Postfix
and concat_string_kind =
  1. | InterpolatedConcat
  2. | SequenceConcat
  3. | FString of string
  4. | TaggedTemplateLiteral
and xml = {
  1. xml_kind : xml_kind;
  2. xml_attrs : xml_attribute list;
  3. xml_body : xml_body list;
}
and xml_kind =
  1. | XmlClassic of tok * ident * tok * tok
  2. | XmlSingleton of tok * ident * tok
  3. | XmlFragment of tok * tok
and xml_attribute =
  1. | XmlAttr of ident * tok * a_xml_attr_value
  2. | XmlAttrExpr of expr bracket
  3. | XmlEllipsis of tok
and a_xml_attr_value = expr
and xml_body =
  1. | XmlText of string wrap
  2. | XmlExpr of expr option bracket
  3. | XmlXml of xml
and arguments = argument list bracket
and argument =
  1. | Arg of expr
  2. | ArgKwd of ident * expr
  3. | ArgKwdOptional of ident * expr
  4. | ArgType of type_
  5. | OtherArg of todo_kind * any list
and stmt = {
  1. s : stmt_kind;
  2. s_id : AST_utils.Node_ID.t;
  3. mutable s_use_cache : bool;
  4. mutable s_backrefs : AST_utils.String_set.t option;
  5. mutable s_strings : string Set_.t option;
  6. mutable s_range : (Parse_info.token_location * Parse_info.token_location) option;
}
and stmt_kind =
  1. | ExprStmt of expr * sc
  2. | Block of stmt list bracket
  3. | If of tok * condition * stmt * stmt option
  4. | While of tok * condition * stmt
  5. | Return of tok * expr option * sc
  6. | DoWhile of tok * stmt * expr
  7. | For of tok * for_header * stmt
  8. | Switch of tok * condition option * case_and_body list
  9. | Continue of tok * label_ident * sc
  10. | Break of tok * label_ident * sc
  11. | Label of label * stmt
  12. | Goto of tok * label * sc
  13. | Throw of tok * expr * sc
  14. | Try of tok * stmt * catch list * finally option
  15. | WithUsingResource of tok * stmt list * stmt
  16. | Assert of tok * arguments * sc
  17. | DefStmt of definition
  18. | DirectiveStmt of directive
  19. | DisjStmt of stmt * stmt
  20. | OtherStmtWithStmt of other_stmt_with_stmt_operator * any list * stmt
  21. | OtherStmt of other_stmt_operator * any list
and condition =
  1. | Cond of expr
  2. | OtherCond of todo_kind * any list
and case_and_body =
  1. | CasesAndBody of case list * stmt
  2. | CaseEllipsis of tok
and case =
  1. | Case of tok * pattern
  2. | Default of tok
  3. | CaseEqualExpr of tok * expr
  4. | OtherCase of todo_kind * any list
and catch = tok * catch_exn * stmt
and catch_exn =
  1. | CatchPattern of pattern
  2. | CatchParam of parameter_classic
  3. | OtherCatch of todo_kind * any list
and finally = tok * stmt
and label = ident
and label_ident =
  1. | LNone
  2. | LId of label
  3. | LInt of int wrap
  4. | LDynamic of expr
and for_header =
  1. | ForClassic of for_var_or_expr list * expr option * expr option
  2. | ForEach of for_each
  3. | MultiForEach of multi_for_each list
  4. | ForIn of for_var_or_expr list * expr list
  5. | ForEllipsis of tok
and for_each = pattern * tok * expr
and multi_for_each =
  1. | FE of for_each
  2. | FECond of for_each * tok * expr
  3. | FEllipsis of tok
and for_var_or_expr =
  1. | ForInitVar of entity * variable_definition
  2. | ForInitExpr of expr
and other_stmt_with_stmt_operator =
  1. | OSWS_With
  2. | OSWS_Block of todo_kind
  3. | OSWS_Else_in_try
  4. | OSWS_Iterator
  5. | OSWS_Closure
  6. | OSWS_Todo
and other_stmt_operator =
  1. | OS_Delete
  2. | OS_ForOrElse
  3. | OS_WhileOrElse
  4. | OS_TryOrElse
  5. | OS_ThrowFrom
  6. | OS_ThrowNothing
  7. | OS_ThrowArgsLocation
  8. | OS_Pass
  9. | OS_Async
  10. | OS_Asm
  11. | OS_Go
  12. | OS_Defer
  13. | OS_Fallthrough
  14. | OS_GlobalComplex
  15. | OS_Redo
  16. | OS_Retry
  17. | OS_ExprStmt2
  18. | OS_Todo
and pattern =
  1. | PatLiteral of literal
  2. | PatConstructor of name * pattern list
  3. | PatRecord of (dotted_ident * pattern) list bracket
  4. | PatId of ident * id_info
  5. | PatTuple of pattern list bracket
  6. | PatList of pattern list bracket
  7. | PatKeyVal of pattern * pattern
  8. | PatUnderscore of tok
  9. | PatDisj of pattern * pattern
  10. | PatTyped of pattern * type_
  11. | PatWhen of pattern * expr
  12. | PatAs of pattern * ident * id_info
  13. | PatType of type_
  14. | PatEllipsis of tok
  15. | DisjPat of pattern * pattern
  16. | OtherPat of todo_kind * any list
and type_ = {
  1. t : type_kind;
  2. t_attrs : attribute list;
}
and type_kind =
  1. | TyN of name
  2. | TyApply of type_ * type_arguments
  3. | TyFun of parameter list * type_
  4. | TyArray of expr option bracket * type_
  5. | TyTuple of type_ list bracket
  6. | TyVar of ident
  7. | TyAny of tok
  8. | TyPointer of tok * type_
  9. | TyRef of tok * type_
  10. | TyQuestion of type_ * tok
  11. | TyRest of tok * type_
  12. | TyAnd of type_ * tok * type_
  13. | TyOr of type_ * tok * type_
  14. | TyRecordAnon of class_kind wrap * field list bracket
  15. | TyEllipsis of tok
  16. | TyExpr of expr
  17. | OtherType of todo_kind * any list
and type_arguments = type_argument list bracket
and type_argument =
  1. | TA of type_
  2. | TAWildcard of tok * (bool wrap * type_) option
  3. | TAExpr of expr
  4. | OtherTypeArg of todo_kind * any list
and attribute =
  1. | KeywordAttr of keyword_attribute wrap
  2. | NamedAttr of tok * name * arguments
  3. | OtherAttribute of todo_kind * any list
and keyword_attribute =
  1. | Static
  2. | Extern
  3. | Volatile
  4. | Public
  5. | Private
  6. | Protected
  7. | Abstract
  8. | Final
  9. | Override
  10. | Mutable
  11. | Const
  12. | RecordClass
  13. | AnnotationClass
  14. | EnumClass
  15. | SealedClass
  16. | Var
  17. | Let
  18. | Optional
  19. | NotNull
  20. | Recursive
  21. | MutuallyRecursive
  22. | Generator
  23. | Async
  24. | Inline
  25. | Ctor
  26. | Dtor
  27. | Getter
  28. | Setter
  29. | Unsafe
  30. | DefaultImpl
  31. | Lazy
  32. | Throws
  33. | Rethrows
and definition = entity * definition_kind
and entity = {
  1. name : entity_name;
  2. attrs : attribute list;
  3. tparams : type_parameters;
}
and entity_name =
  1. | EN of name
  2. | EDynamic of expr
  3. | EPattern of pattern
  4. | OtherEntity of todo_kind * any list
and definition_kind =
  1. | FuncDef of function_definition
  2. | VarDef of variable_definition
  3. | FieldDefColon of variable_definition
  4. | ClassDef of class_definition
  5. | EnumEntryDef of enum_entry_definition
  6. | TypeDef of type_definition
  7. | ModuleDef of module_definition
  8. | MacroDef of macro_definition
  9. | Signature of type_
  10. | UseOuterDecl of tok
  11. | OtherDef of todo_kind * any list
and type_parameter =
  1. | TP of type_parameter_classic
  2. | TParamEllipsis of tok
  3. | OtherTypeParam of todo_kind * any list
and type_parameter_classic = {
  1. tp_id : ident;
  2. tp_attrs : attribute list;
  3. tp_bounds : type_ list;
  4. tp_default : type_ option;
  5. tp_variance : variance wrap option;
}
and type_parameters = type_parameter list
and variance =
  1. | Covariant
  2. | Contravariant
and function_definition = {
  1. fkind : function_kind wrap;
  2. fparams : parameters;
  3. frettype : type_ option;
  4. fbody : function_body;
}
and function_kind =
  1. | Function
  2. | Method
  3. | LambdaKind
  4. | Arrow
  5. | BlockCases
and parameters = parameter list bracket
and parameter =
  1. | Param of parameter_classic
  2. | ParamPattern of pattern
  3. | ParamRest of tok * parameter_classic
  4. | ParamHashSplat of tok * parameter_classic
  5. | ParamEllipsis of tok
  6. | OtherParam of todo_kind * any list
and parameter_classic = {
  1. pname : ident option;
  2. ptype : type_ option;
  3. pdefault : expr option;
  4. pattrs : attribute list;
  5. pinfo : id_info;
}
and function_body =
  1. | FBStmt of stmt
  2. | FBExpr of expr
  3. | FBDecl of sc
  4. | FBNothing
and variable_definition = {
  1. vinit : expr option;
  2. vtype : type_ option;
}
and type_definition = {
  1. tbody : type_definition_kind;
}
and type_definition_kind =
  1. | OrType of or_type_element list
  2. | AndType of field list bracket
  3. | AliasType of type_
  4. | NewType of type_
  5. | AbstractType of tok
  6. | Exception of ident * type_ list
  7. | OtherTypeKind of todo_kind * any list
and or_type_element =
  1. | OrConstructor of ident * type_ list
  2. | OrEnum of ident * expr option
  3. | OrUnion of ident * type_
and field =
  1. | F of stmt
and class_definition = {
  1. ckind : class_kind wrap;
  2. cextends : class_parent list;
  3. cimplements : type_ list;
  4. cmixins : type_ list;
  5. cparams : parameters;
  6. cbody : field list bracket;
}
and class_kind =
  1. | Class
  2. | Interface
  3. | Trait
  4. | Object
and class_parent = type_ * arguments option
and enum_entry_definition = {
  1. ee_args : arguments option;
  2. ee_body : field list bracket option;
}
and module_definition = {
  1. mbody : module_definition_kind;
}
and module_definition_kind =
  1. | ModuleAlias of dotted_ident
  2. | ModuleStruct of dotted_ident option * item list
  3. | OtherModule of todo_kind * any list
and macro_definition = {
  1. macroparams : ident list;
  2. macrobody : any list;
}
and directive = {
  1. d : directive_kind;
  2. d_attrs : attribute list;
}
and directive_kind =
  1. | ImportFrom of tok * module_name * (ident * alias option) list
  2. | ImportAs of tok * module_name * alias option
  3. | ImportAll of tok * module_name * tok
  4. | Package of tok * dotted_ident
  5. | PackageEnd of tok
  6. | Pragma of ident * any list
  7. | OtherDirective of todo_kind * any list
and alias = ident * id_info
and item = stmt
and program = item list
and partial =
  1. | PartialDef of definition
  2. | PartialIf of tok * expr
  3. | PartialTry of tok * stmt
  4. | PartialCatch of catch
  5. | PartialFinally of tok * stmt
  6. | PartialMatch of tok * expr
  7. | PartialSingleField of string wrap * tok * expr
  8. | PartialLambdaOrFuncDef of function_definition
  9. | PartialSwitchCase of case_and_body
and any =
  1. | E of expr
  2. | S of stmt
  3. | Ss of stmt list
  4. | T of type_
  5. | P of pattern
  6. | At of attribute
  7. | Fld of field
  8. | Flds of field list
  9. | Args of argument list
  10. | Params of parameter list
  11. | Xmls of xml_body list
  12. | Partial of partial
  13. | Name of name
  14. | Raw of raw_tree
  15. | I of ident
  16. | Str of string wrap bracket
  17. | Def of definition
  18. | Dir of directive
  19. | Pr of program
  20. | Tk of tok
  21. | TodoK of todo_kind
  22. | Ar of argument
  23. | Pa of parameter
  24. | Tp of type_parameter
  25. | Ta of type_argument
  26. | Modn of module_name
  27. | Ce of catch_exn
  28. | Cs of case
  29. | ForOrIfComp of for_or_if_comp
  30. | ModDk of module_definition_kind
  31. | En of entity
  32. | Dk of definition_kind
  33. | Di of dotted_ident
  34. | Lbli of label_ident
  35. | Anys of any list
and raw_tree = any Raw_tree.t
val pp_name : Ppx_deriving_runtime.Format.formatter -> name -> Ppx_deriving_runtime.unit
val pp_qualified_info : Ppx_deriving_runtime.Format.formatter -> qualified_info -> Ppx_deriving_runtime.unit
val show_qualified_info : qualified_info -> Ppx_deriving_runtime.string
val pp_qualifier : Ppx_deriving_runtime.Format.formatter -> qualifier -> Ppx_deriving_runtime.unit
val show_qualifier : qualifier -> Ppx_deriving_runtime.string
val pp_id_info : Ppx_deriving_runtime.Format.formatter -> id_info -> Ppx_deriving_runtime.unit
val show_id_info : id_info -> Ppx_deriving_runtime.string
val pp_id_info_id : Ppx_deriving_runtime.Format.formatter -> id_info_id -> Ppx_deriving_runtime.unit
val show_id_info_id : id_info_id -> Ppx_deriving_runtime.string
val pp_expr : Ppx_deriving_runtime.Format.formatter -> a_xml_attr_value -> Ppx_deriving_runtime.unit
val pp_expr_kind : Ppx_deriving_runtime.Format.formatter -> expr_kind -> Ppx_deriving_runtime.unit
val show_expr_kind : expr_kind -> Ppx_deriving_runtime.string
val pp_literal : Ppx_deriving_runtime.Format.formatter -> literal -> Ppx_deriving_runtime.unit
val show_literal : literal -> Ppx_deriving_runtime.string
val pp_const_type : Ppx_deriving_runtime.Format.formatter -> const_type -> Ppx_deriving_runtime.unit
val show_const_type : const_type -> Ppx_deriving_runtime.string
val pp_svalue : Ppx_deriving_runtime.Format.formatter -> svalue -> Ppx_deriving_runtime.unit
val show_svalue : svalue -> Ppx_deriving_runtime.string
val pp_container_operator : Ppx_deriving_runtime.Format.formatter -> container_operator -> Ppx_deriving_runtime.unit
val show_container_operator : container_operator -> Ppx_deriving_runtime.string
val pp_comprehension : Ppx_deriving_runtime.Format.formatter -> comprehension -> Ppx_deriving_runtime.unit
val show_comprehension : comprehension -> Ppx_deriving_runtime.string
val pp_for_or_if_comp : Ppx_deriving_runtime.Format.formatter -> for_or_if_comp -> Ppx_deriving_runtime.unit
val show_for_or_if_comp : for_or_if_comp -> Ppx_deriving_runtime.string
val pp_field_name : Ppx_deriving_runtime.Format.formatter -> field_name -> Ppx_deriving_runtime.unit
val show_field_name : field_name -> Ppx_deriving_runtime.string
val pp_special : Ppx_deriving_runtime.Format.formatter -> special -> Ppx_deriving_runtime.unit
val show_special : special -> Ppx_deriving_runtime.string
val pp_operator : Ppx_deriving_runtime.Format.formatter -> operator -> Ppx_deriving_runtime.unit
val show_operator : operator -> Ppx_deriving_runtime.string
val pp_incr_decr : Ppx_deriving_runtime.Format.formatter -> incr_decr -> Ppx_deriving_runtime.unit
val show_incr_decr : incr_decr -> Ppx_deriving_runtime.string
val pp_prefix_postfix : Ppx_deriving_runtime.Format.formatter -> prefix_postfix -> Ppx_deriving_runtime.unit
val show_prefix_postfix : prefix_postfix -> Ppx_deriving_runtime.string
val pp_concat_string_kind : Ppx_deriving_runtime.Format.formatter -> concat_string_kind -> Ppx_deriving_runtime.unit
val show_concat_string_kind : concat_string_kind -> Ppx_deriving_runtime.string
val pp_xml : Ppx_deriving_runtime.Format.formatter -> xml -> Ppx_deriving_runtime.unit
val pp_xml_kind : Ppx_deriving_runtime.Format.formatter -> xml_kind -> Ppx_deriving_runtime.unit
val show_xml_kind : xml_kind -> Ppx_deriving_runtime.string
val pp_xml_attribute : Ppx_deriving_runtime.Format.formatter -> xml_attribute -> Ppx_deriving_runtime.unit
val show_xml_attribute : xml_attribute -> Ppx_deriving_runtime.string
val pp_a_xml_attr_value : Ppx_deriving_runtime.Format.formatter -> a_xml_attr_value -> Ppx_deriving_runtime.unit
val show_a_xml_attr_value : a_xml_attr_value -> Ppx_deriving_runtime.string
val pp_xml_body : Ppx_deriving_runtime.Format.formatter -> xml_body -> Ppx_deriving_runtime.unit
val show_xml_body : xml_body -> Ppx_deriving_runtime.string
val pp_arguments : Ppx_deriving_runtime.Format.formatter -> arguments -> Ppx_deriving_runtime.unit
val show_arguments : arguments -> Ppx_deriving_runtime.string
val pp_argument : Ppx_deriving_runtime.Format.formatter -> argument -> Ppx_deriving_runtime.unit
val show_argument : argument -> Ppx_deriving_runtime.string
val pp_stmt : Ppx_deriving_runtime.Format.formatter -> item -> Ppx_deriving_runtime.unit
val pp_stmt_kind : Ppx_deriving_runtime.Format.formatter -> stmt_kind -> Ppx_deriving_runtime.unit
val show_stmt_kind : stmt_kind -> Ppx_deriving_runtime.string
val pp_condition : Ppx_deriving_runtime.Format.formatter -> condition -> Ppx_deriving_runtime.unit
val show_condition : condition -> Ppx_deriving_runtime.string
val pp_case_and_body : Ppx_deriving_runtime.Format.formatter -> case_and_body -> Ppx_deriving_runtime.unit
val show_case_and_body : case_and_body -> Ppx_deriving_runtime.string
val pp_case : Ppx_deriving_runtime.Format.formatter -> case -> Ppx_deriving_runtime.unit
val pp_catch : Ppx_deriving_runtime.Format.formatter -> catch -> Ppx_deriving_runtime.unit
val pp_catch_exn : Ppx_deriving_runtime.Format.formatter -> catch_exn -> Ppx_deriving_runtime.unit
val show_catch_exn : catch_exn -> Ppx_deriving_runtime.string
val pp_finally : Ppx_deriving_runtime.Format.formatter -> finally -> Ppx_deriving_runtime.unit
val show_finally : finally -> Ppx_deriving_runtime.string
val pp_label : Ppx_deriving_runtime.Format.formatter -> label -> Ppx_deriving_runtime.unit
val pp_label_ident : Ppx_deriving_runtime.Format.formatter -> label_ident -> Ppx_deriving_runtime.unit
val show_label_ident : label_ident -> Ppx_deriving_runtime.string
val pp_for_header : Ppx_deriving_runtime.Format.formatter -> for_header -> Ppx_deriving_runtime.unit
val show_for_header : for_header -> Ppx_deriving_runtime.string
val pp_for_each : Ppx_deriving_runtime.Format.formatter -> for_each -> Ppx_deriving_runtime.unit
val show_for_each : for_each -> Ppx_deriving_runtime.string
val pp_multi_for_each : Ppx_deriving_runtime.Format.formatter -> multi_for_each -> Ppx_deriving_runtime.unit
val show_multi_for_each : multi_for_each -> Ppx_deriving_runtime.string
val pp_for_var_or_expr : Ppx_deriving_runtime.Format.formatter -> for_var_or_expr -> Ppx_deriving_runtime.unit
val show_for_var_or_expr : for_var_or_expr -> Ppx_deriving_runtime.string
val pp_other_stmt_with_stmt_operator : Ppx_deriving_runtime.Format.formatter -> other_stmt_with_stmt_operator -> Ppx_deriving_runtime.unit
val show_other_stmt_with_stmt_operator : other_stmt_with_stmt_operator -> Ppx_deriving_runtime.string
val pp_other_stmt_operator : Ppx_deriving_runtime.Format.formatter -> other_stmt_operator -> Ppx_deriving_runtime.unit
val show_other_stmt_operator : other_stmt_operator -> Ppx_deriving_runtime.string
val pp_pattern : Ppx_deriving_runtime.Format.formatter -> pattern -> Ppx_deriving_runtime.unit
val show_pattern : pattern -> Ppx_deriving_runtime.string
val pp_type_ : Ppx_deriving_runtime.Format.formatter -> type_ -> Ppx_deriving_runtime.unit
val pp_type_kind : Ppx_deriving_runtime.Format.formatter -> type_kind -> Ppx_deriving_runtime.unit
val show_type_kind : type_kind -> Ppx_deriving_runtime.string
val pp_type_arguments : Ppx_deriving_runtime.Format.formatter -> type_arguments -> Ppx_deriving_runtime.unit
val show_type_arguments : type_arguments -> Ppx_deriving_runtime.string
val pp_type_argument : Ppx_deriving_runtime.Format.formatter -> type_argument -> Ppx_deriving_runtime.unit
val show_type_argument : type_argument -> Ppx_deriving_runtime.string
val pp_attribute : Ppx_deriving_runtime.Format.formatter -> attribute -> Ppx_deriving_runtime.unit
val show_attribute : attribute -> Ppx_deriving_runtime.string
val pp_keyword_attribute : Ppx_deriving_runtime.Format.formatter -> keyword_attribute -> Ppx_deriving_runtime.unit
val show_keyword_attribute : keyword_attribute -> Ppx_deriving_runtime.string
val pp_definition : Ppx_deriving_runtime.Format.formatter -> definition -> Ppx_deriving_runtime.unit
val show_definition : definition -> Ppx_deriving_runtime.string
val pp_entity : Ppx_deriving_runtime.Format.formatter -> entity -> Ppx_deriving_runtime.unit
val show_entity : entity -> Ppx_deriving_runtime.string
val pp_entity_name : Ppx_deriving_runtime.Format.formatter -> entity_name -> Ppx_deriving_runtime.unit
val show_entity_name : entity_name -> Ppx_deriving_runtime.string
val pp_definition_kind : Ppx_deriving_runtime.Format.formatter -> definition_kind -> Ppx_deriving_runtime.unit
val show_definition_kind : definition_kind -> Ppx_deriving_runtime.string
val pp_type_parameter : Ppx_deriving_runtime.Format.formatter -> type_parameter -> Ppx_deriving_runtime.unit
val show_type_parameter : type_parameter -> Ppx_deriving_runtime.string
val pp_type_parameter_classic : Ppx_deriving_runtime.Format.formatter -> type_parameter_classic -> Ppx_deriving_runtime.unit
val show_type_parameter_classic : type_parameter_classic -> Ppx_deriving_runtime.string
val pp_type_parameters : Ppx_deriving_runtime.Format.formatter -> type_parameters -> Ppx_deriving_runtime.unit
val show_type_parameters : type_parameters -> Ppx_deriving_runtime.string
val pp_variance : Ppx_deriving_runtime.Format.formatter -> variance -> Ppx_deriving_runtime.unit
val show_variance : variance -> Ppx_deriving_runtime.string
val pp_function_definition : Ppx_deriving_runtime.Format.formatter -> function_definition -> Ppx_deriving_runtime.unit
val show_function_definition : function_definition -> Ppx_deriving_runtime.string
val pp_function_kind : Ppx_deriving_runtime.Format.formatter -> function_kind -> Ppx_deriving_runtime.unit
val show_function_kind : function_kind -> Ppx_deriving_runtime.string
val pp_parameters : Ppx_deriving_runtime.Format.formatter -> parameters -> Ppx_deriving_runtime.unit
val show_parameters : parameters -> Ppx_deriving_runtime.string
val pp_parameter : Ppx_deriving_runtime.Format.formatter -> parameter -> Ppx_deriving_runtime.unit
val show_parameter : parameter -> Ppx_deriving_runtime.string
val pp_parameter_classic : Ppx_deriving_runtime.Format.formatter -> parameter_classic -> Ppx_deriving_runtime.unit
val show_parameter_classic : parameter_classic -> Ppx_deriving_runtime.string
val pp_function_body : Ppx_deriving_runtime.Format.formatter -> function_body -> Ppx_deriving_runtime.unit
val show_function_body : function_body -> Ppx_deriving_runtime.string
val pp_variable_definition : Ppx_deriving_runtime.Format.formatter -> variable_definition -> Ppx_deriving_runtime.unit
val show_variable_definition : variable_definition -> Ppx_deriving_runtime.string
val pp_type_definition : Ppx_deriving_runtime.Format.formatter -> type_definition -> Ppx_deriving_runtime.unit
val show_type_definition : type_definition -> Ppx_deriving_runtime.string
val pp_type_definition_kind : Ppx_deriving_runtime.Format.formatter -> type_definition_kind -> Ppx_deriving_runtime.unit
val show_type_definition_kind : type_definition_kind -> Ppx_deriving_runtime.string
val pp_or_type_element : Ppx_deriving_runtime.Format.formatter -> or_type_element -> Ppx_deriving_runtime.unit
val show_or_type_element : or_type_element -> Ppx_deriving_runtime.string
val pp_field : Ppx_deriving_runtime.Format.formatter -> field -> Ppx_deriving_runtime.unit
val pp_class_definition : Ppx_deriving_runtime.Format.formatter -> class_definition -> Ppx_deriving_runtime.unit
val show_class_definition : class_definition -> Ppx_deriving_runtime.string
val pp_class_kind : Ppx_deriving_runtime.Format.formatter -> class_kind -> Ppx_deriving_runtime.unit
val show_class_kind : class_kind -> Ppx_deriving_runtime.string
val pp_class_parent : Ppx_deriving_runtime.Format.formatter -> class_parent -> Ppx_deriving_runtime.unit
val show_class_parent : class_parent -> Ppx_deriving_runtime.string
val pp_enum_entry_definition : Ppx_deriving_runtime.Format.formatter -> enum_entry_definition -> Ppx_deriving_runtime.unit
val show_enum_entry_definition : enum_entry_definition -> Ppx_deriving_runtime.string
val pp_module_definition : Ppx_deriving_runtime.Format.formatter -> module_definition -> Ppx_deriving_runtime.unit
val show_module_definition : module_definition -> Ppx_deriving_runtime.string
val pp_module_definition_kind : Ppx_deriving_runtime.Format.formatter -> module_definition_kind -> Ppx_deriving_runtime.unit
val show_module_definition_kind : module_definition_kind -> Ppx_deriving_runtime.string
val pp_macro_definition : Ppx_deriving_runtime.Format.formatter -> macro_definition -> Ppx_deriving_runtime.unit
val show_macro_definition : macro_definition -> Ppx_deriving_runtime.string
val pp_directive : Ppx_deriving_runtime.Format.formatter -> directive -> Ppx_deriving_runtime.unit
val show_directive : directive -> Ppx_deriving_runtime.string
val pp_directive_kind : Ppx_deriving_runtime.Format.formatter -> directive_kind -> Ppx_deriving_runtime.unit
val show_directive_kind : directive_kind -> Ppx_deriving_runtime.string
val pp_alias : Ppx_deriving_runtime.Format.formatter -> alias -> Ppx_deriving_runtime.unit
val pp_item : Ppx_deriving_runtime.Format.formatter -> item -> Ppx_deriving_runtime.unit
val pp_program : Ppx_deriving_runtime.Format.formatter -> program -> Ppx_deriving_runtime.unit
val show_program : program -> Ppx_deriving_runtime.string
val pp_partial : Ppx_deriving_runtime.Format.formatter -> partial -> Ppx_deriving_runtime.unit
val show_partial : partial -> Ppx_deriving_runtime.string
val pp_any : Ppx_deriving_runtime.Format.formatter -> any -> Ppx_deriving_runtime.unit
val pp_raw_tree : Ppx_deriving_runtime.Format.formatter -> raw_tree -> Ppx_deriving_runtime.unit
val show_raw_tree : raw_tree -> Ppx_deriving_runtime.string
val equal_name : name -> name -> Ppx_deriving_runtime.bool
val equal_qualifier : qualifier -> qualifier -> Ppx_deriving_runtime.bool
val equal_id_info : id_info -> id_info -> Ppx_deriving_runtime.bool
val equal_id_info_id : id_info_id -> id_info_id -> Ppx_deriving_runtime.bool
val equal_expr_kind : expr_kind -> expr_kind -> Ppx_deriving_runtime.bool
val equal_literal : literal -> literal -> Ppx_deriving_runtime.bool
val equal_const_type : const_type -> const_type -> Ppx_deriving_runtime.bool
val equal_svalue : svalue -> svalue -> Ppx_deriving_runtime.bool
val equal_comprehension : comprehension -> comprehension -> Ppx_deriving_runtime.bool
val equal_field_name : field_name -> field_name -> Ppx_deriving_runtime.bool
val equal_special : special -> special -> Ppx_deriving_runtime.bool
val equal_operator : operator -> operator -> Ppx_deriving_runtime.bool
val equal_incr_decr : incr_decr -> incr_decr -> Ppx_deriving_runtime.bool
val equal_xml : xml -> xml -> Ppx_deriving_runtime.bool
val equal_xml_kind : xml_kind -> xml_kind -> Ppx_deriving_runtime.bool
val equal_xml_attribute : xml_attribute -> xml_attribute -> Ppx_deriving_runtime.bool
val equal_xml_body : xml_body -> xml_body -> Ppx_deriving_runtime.bool
val equal_arguments : arguments -> arguments -> Ppx_deriving_runtime.bool
val equal_argument : argument -> argument -> Ppx_deriving_runtime.bool
val equal_stmt : item -> item -> Ppx_deriving_runtime.bool
val equal_stmt_kind : stmt_kind -> stmt_kind -> Ppx_deriving_runtime.bool
val equal_condition : condition -> condition -> Ppx_deriving_runtime.bool
val equal_case_and_body : case_and_body -> case_and_body -> Ppx_deriving_runtime.bool
val equal_case : case -> case -> Ppx_deriving_runtime.bool
val equal_catch : catch -> catch -> Ppx_deriving_runtime.bool
val equal_catch_exn : catch_exn -> catch_exn -> Ppx_deriving_runtime.bool
val equal_finally : finally -> finally -> Ppx_deriving_runtime.bool
val equal_label : label -> label -> Ppx_deriving_runtime.bool
val equal_label_ident : label_ident -> label_ident -> Ppx_deriving_runtime.bool
val equal_for_header : for_header -> for_header -> Ppx_deriving_runtime.bool
val equal_for_each : for_each -> for_each -> Ppx_deriving_runtime.bool
val equal_pattern : pattern -> pattern -> Ppx_deriving_runtime.bool
val equal_type_ : type_ -> type_ -> Ppx_deriving_runtime.bool
val equal_type_kind : type_kind -> type_kind -> Ppx_deriving_runtime.bool
val equal_type_argument : type_argument -> type_argument -> Ppx_deriving_runtime.bool
val equal_attribute : attribute -> attribute -> Ppx_deriving_runtime.bool
val equal_definition : definition -> definition -> Ppx_deriving_runtime.bool
val equal_entity : entity -> entity -> Ppx_deriving_runtime.bool
val equal_entity_name : entity_name -> entity_name -> Ppx_deriving_runtime.bool
val equal_variance : variance -> variance -> Ppx_deriving_runtime.bool
val equal_function_kind : function_kind -> function_kind -> Ppx_deriving_runtime.bool
val equal_parameters : parameters -> parameters -> Ppx_deriving_runtime.bool
val equal_parameter : parameter -> parameter -> Ppx_deriving_runtime.bool
val equal_function_body : function_body -> function_body -> Ppx_deriving_runtime.bool
val equal_field : field -> field -> Ppx_deriving_runtime.bool
val equal_class_kind : class_kind -> class_kind -> Ppx_deriving_runtime.bool
val equal_class_parent : class_parent -> class_parent -> Ppx_deriving_runtime.bool
val equal_directive : directive -> directive -> Ppx_deriving_runtime.bool
val equal_alias : alias -> alias -> Ppx_deriving_runtime.bool
val equal_item : item -> item -> Ppx_deriving_runtime.bool
val equal_program : program -> program -> Ppx_deriving_runtime.bool
val equal_partial : partial -> partial -> Ppx_deriving_runtime.bool
val equal_any : any -> any -> Ppx_deriving_runtime.bool
val equal_raw_tree : raw_tree -> raw_tree -> Ppx_deriving_runtime.bool
include sig ... end
class virtual +'b iter : object ... end
val hash_fold_name : Base.Hash.state -> name -> Base.Hash.state
val hash_fold_qualified_info : Base.Hash.state -> qualified_info -> Base.Hash.state
val hash_fold_id_info : Base.Hash.state -> id_info -> Base.Hash.state
val hash_fold_id_info_id : Base.Hash.state -> id_info_id -> Base.Hash.state
val hash_fold_expr_kind : Base.Hash.state -> expr_kind -> Base.Hash.state
val hash_fold_literal : Base.Hash.state -> literal -> Base.Hash.state
val hash_fold_const_type : Base.Hash.state -> const_type -> Base.Hash.state
val hash_fold_container_operator : Base.Hash.state -> container_operator -> Base.Hash.state
val hash_fold_comprehension : Base.Hash.state -> comprehension -> Base.Hash.state
val hash_fold_field_name : Base.Hash.state -> field_name -> Base.Hash.state
val hash_fold_special : Base.Hash.state -> special -> Base.Hash.state
val hash_fold_operator : Base.Hash.state -> operator -> Base.Hash.state
val hash_fold_incr_decr : Base.Hash.state -> incr_decr -> Base.Hash.state
val hash_fold_prefix_postfix : Base.Hash.state -> prefix_postfix -> Base.Hash.state
val hash_fold_concat_string_kind : Base.Hash.state -> concat_string_kind -> Base.Hash.state
val hash_fold_xml : Base.Hash.state -> xml -> Base.Hash.state
val hash_fold_xml_kind : Base.Hash.state -> xml_kind -> Base.Hash.state
val hash_fold_a_xml_attr_value : Base.Hash.state -> a_xml_attr_value -> Base.Hash.state
val hash_fold_stmt_kind : Base.Hash.state -> stmt_kind -> Base.Hash.state
val hash_fold_catch_exn : Base.Hash.state -> catch_exn -> Base.Hash.state
val hash_fold_label : Base.Hash.state -> label -> Base.Hash.state
val hash_fold_label_ident : Base.Hash.state -> label_ident -> Base.Hash.state
val hash_fold_for_header : Base.Hash.state -> for_header -> Base.Hash.state
val hash_fold_for_each : Base.Hash.state -> for_each -> Base.Hash.state
val hash_fold_other_stmt_with_stmt_operator : Base.Hash.state -> other_stmt_with_stmt_operator -> Base.Hash.state
val hash_fold_other_stmt_operator : Base.Hash.state -> other_stmt_operator -> Base.Hash.state
val hash_fold_type_kind : Base.Hash.state -> type_kind -> Base.Hash.state
val hash_fold_keyword_attribute : Base.Hash.state -> keyword_attribute -> Base.Hash.state
val hash_fold_definition : Base.Hash.state -> definition -> Base.Hash.state
val hash_fold_entity : Base.Hash.state -> entity -> Base.Hash.state
val hash_fold_entity_name : Base.Hash.state -> entity_name -> Base.Hash.state
val hash_fold_definition_kind : Base.Hash.state -> definition_kind -> Base.Hash.state
val hash_fold_type_parameter_classic : Base.Hash.state -> type_parameter_classic -> Base.Hash.state
val hash_fold_type_parameters : Base.Hash.state -> type_parameters -> Base.Hash.state
val hash_fold_variance : Base.Hash.state -> variance -> Base.Hash.state
val hash_fold_function_definition : Base.Hash.state -> function_definition -> Base.Hash.state
val hash_fold_function_kind : Base.Hash.state -> function_kind -> Base.Hash.state
val hash_fold_parameters : Base.Hash.state -> parameters -> Base.Hash.state
val hash_fold_parameter_classic : Base.Hash.state -> parameter_classic -> Base.Hash.state
val hash_fold_function_body : Base.Hash.state -> function_body -> Base.Hash.state
val hash_fold_variable_definition : Base.Hash.state -> variable_definition -> Base.Hash.state
val hash_fold_type_definition : Base.Hash.state -> type_definition -> Base.Hash.state
val hash_fold_type_definition_kind : Base.Hash.state -> type_definition_kind -> Base.Hash.state
val hash_fold_class_definition : Base.Hash.state -> class_definition -> Base.Hash.state
val hash_fold_class_kind : Base.Hash.state -> class_kind -> Base.Hash.state
val hash_fold_enum_entry_definition : Base.Hash.state -> enum_entry_definition -> Base.Hash.state
val hash_fold_module_definition : Base.Hash.state -> module_definition -> Base.Hash.state
val hash_fold_module_definition_kind : Base.Hash.state -> module_definition_kind -> Base.Hash.state
val hash_fold_macro_definition : Base.Hash.state -> macro_definition -> Base.Hash.state
val hash_fold_directive : Base.Hash.state -> directive -> Base.Hash.state
val hash_fold_directive_kind : Base.Hash.state -> directive_kind -> Base.Hash.state
val hash_fold_program : Base.Hash.state -> program -> Base.Hash.state
val hash_fold_partial : Base.Hash.state -> partial -> Base.Hash.state
val hash_fold_raw_tree : Base.Hash.state -> raw_tree -> Base.Hash.state
val hash_name : name -> Base.Hash.hash_value
val hash_qualified_info : qualified_info -> Base.Hash.hash_value
val hash_qualifier : qualifier -> Base.Hash.hash_value
val hash_id_info : id_info -> Base.Hash.hash_value
val hash_id_info_id : id_info_id -> Base.Hash.hash_value
val hash_expr_kind : expr_kind -> Base.Hash.hash_value
val hash_literal : literal -> Base.Hash.hash_value
val hash_const_type : const_type -> Base.Hash.hash_value
val hash_svalue : svalue -> Base.Hash.hash_value
val hash_container_operator : container_operator -> Base.Hash.hash_value
val hash_comprehension : comprehension -> Base.Hash.hash_value
val hash_for_or_if_comp : for_or_if_comp -> Base.Hash.hash_value
val hash_field_name : field_name -> Base.Hash.hash_value
val hash_special : special -> Base.Hash.hash_value
val hash_operator : operator -> Base.Hash.hash_value
val hash_incr_decr : incr_decr -> Base.Hash.hash_value
val hash_prefix_postfix : prefix_postfix -> Base.Hash.hash_value
val hash_concat_string_kind : concat_string_kind -> Base.Hash.hash_value
val hash_xml : xml -> Base.Hash.hash_value
val hash_xml_kind : xml_kind -> Base.Hash.hash_value
val hash_xml_attribute : xml_attribute -> Base.Hash.hash_value
val hash_a_xml_attr_value : a_xml_attr_value -> Base.Hash.hash_value
val hash_xml_body : xml_body -> Base.Hash.hash_value
val hash_arguments : arguments -> Base.Hash.hash_value
val hash_argument : argument -> Base.Hash.hash_value
val hash_stmt : item -> Base.Hash.hash_value
val hash_stmt_kind : stmt_kind -> Base.Hash.hash_value
val hash_condition : condition -> Base.Hash.hash_value
val hash_case_and_body : case_and_body -> Base.Hash.hash_value
val hash_case : case -> Base.Hash.hash_value
val hash_catch : catch -> Base.Hash.hash_value
val hash_catch_exn : catch_exn -> Base.Hash.hash_value
val hash_finally : finally -> Base.Hash.hash_value
val hash_label : label -> Base.Hash.hash_value
val hash_label_ident : label_ident -> Base.Hash.hash_value
val hash_for_header : for_header -> Base.Hash.hash_value
val hash_for_each : for_each -> Base.Hash.hash_value
val hash_multi_for_each : multi_for_each -> Base.Hash.hash_value
val hash_for_var_or_expr : for_var_or_expr -> Base.Hash.hash_value
val hash_other_stmt_with_stmt_operator : other_stmt_with_stmt_operator -> Base.Hash.hash_value
val hash_other_stmt_operator : other_stmt_operator -> Base.Hash.hash_value
val hash_pattern : pattern -> Base.Hash.hash_value
val hash_type_ : type_ -> Base.Hash.hash_value
val hash_type_kind : type_kind -> Base.Hash.hash_value
val hash_type_arguments : type_arguments -> Base.Hash.hash_value
val hash_type_argument : type_argument -> Base.Hash.hash_value
val hash_attribute : attribute -> Base.Hash.hash_value
val hash_keyword_attribute : keyword_attribute -> Base.Hash.hash_value
val hash_definition : definition -> Base.Hash.hash_value
val hash_entity : entity -> Base.Hash.hash_value
val hash_entity_name : entity_name -> Base.Hash.hash_value
val hash_definition_kind : definition_kind -> Base.Hash.hash_value
val hash_type_parameter : type_parameter -> Base.Hash.hash_value
val hash_type_parameter_classic : type_parameter_classic -> Base.Hash.hash_value
val hash_type_parameters : type_parameters -> Base.Hash.hash_value
val hash_variance : variance -> Base.Hash.hash_value
val hash_function_definition : function_definition -> Base.Hash.hash_value
val hash_function_kind : function_kind -> Base.Hash.hash_value
val hash_parameters : parameters -> Base.Hash.hash_value
val hash_parameter : parameter -> Base.Hash.hash_value
val hash_parameter_classic : parameter_classic -> Base.Hash.hash_value
val hash_function_body : function_body -> Base.Hash.hash_value
val hash_variable_definition : variable_definition -> Base.Hash.hash_value
val hash_type_definition : type_definition -> Base.Hash.hash_value
val hash_type_definition_kind : type_definition_kind -> Base.Hash.hash_value
val hash_or_type_element : or_type_element -> Base.Hash.hash_value
val hash_field : field -> Base.Hash.hash_value
val hash_class_definition : class_definition -> Base.Hash.hash_value
val hash_class_kind : class_kind -> Base.Hash.hash_value
val hash_class_parent : class_parent -> Base.Hash.hash_value
val hash_enum_entry_definition : enum_entry_definition -> Base.Hash.hash_value
val hash_module_definition : module_definition -> Base.Hash.hash_value
val hash_module_definition_kind : module_definition_kind -> Base.Hash.hash_value
val hash_macro_definition : macro_definition -> Base.Hash.hash_value
val hash_directive : directive -> Base.Hash.hash_value
val hash_directive_kind : directive_kind -> Base.Hash.hash_value
val hash_alias : alias -> Base.Hash.hash_value
val hash_item : item -> Base.Hash.hash_value
val hash_program : program -> Base.Hash.hash_value
val hash_partial : partial -> Base.Hash.hash_value
val hash_any : any -> Base.Hash.hash_value
val hash_raw_tree : raw_tree -> Base.Hash.hash_value
exception Error of string * Parse_info.t
val error : Parse_info.t -> string -> 'a
val fake : string -> Parse_info.t
val sc : Parse_info.t
val s : stmt_kind -> stmt
val e : expr_kind -> expr
val t : type_kind -> type_
val p : 'a -> 'b
val id_info_id : unit -> IdInfoId.t
val empty_var : variable_definition
val empty_id_info : ?hidden:bool -> unit -> id_info
val basic_id_info : ?hidden:bool -> resolved_name -> id_info
val dotted_to_canonical : ('a * 'b) list -> 'c list
val canonical_to_dotted : Parse_info.t -> string list -> (string * Parse_info.t) list
val basic_entity : ?hidden:bool -> ?attrs:attribute list -> ?tparams:type_parameters -> ident -> entity
val arg : expr -> argument
val special : special wrap -> expr list -> expr
val opcall : (operator * tok) -> expr list -> expr
val string_ : (Parse_info.t * (string * Parse_info.t) list * tok) -> string wrap bracket
val interpolated : (tok * (string wrap, expr, tok * expr option * tok) Common.either3 list * tok) -> expr
val keyval : expr -> 'a -> expr -> expr
val raw : raw_tree -> expr
val param_of_id : ?pattrs:attribute list -> ?ptype:type_ option -> ?pdefault:expr option -> ident -> parameter_classic
val param_of_type : ?pattrs:attribute list -> ?pdefault:expr option -> ?pname:ident option -> type_ -> parameter_classic
val implicit_param_id : 'a -> string * 'b
val ty_builtin : ident -> type_
val tparam_of_id : ?tp_attrs:attribute list -> ?tp_variance:variance wrap option -> ?tp_bounds:type_ list -> ?tp_default:type_ option -> ident -> type_parameter
val exprstmt : expr -> stmt
val emptystmt : tok -> stmt
val stmt_to_expr : stmt -> expr
val empty_body : Parse_info.t * 'a list * Parse_info.t
val stmt1 : stmt list -> stmt
val fld : (entity * definition_kind) -> field
val basic_field : ident -> expr option -> type_ option -> field
val fieldEllipsis : tok -> field
val unhandled_keywordattr : (string * tok) -> attribute
val case_of_pat_and_expr : ?tok:Parse_info.t option -> (pattern * expr) -> case_and_body
val case_of_pat_and_stmt : ?tok:Parse_info.t option -> (pattern * stmt) -> case_and_body
val special_multivardef_pattern : string
val is_metavar_name : string -> bool
val is_metavar_ellipsis : string -> bool