⚠️ Oops! This page doesn't appear to define a type called _.
Edit

Typing

This module does not have a toplevel documentation block.

type tag = | Type | Value | Module | Constructor(string) | Attribute(string)

type ident('a) = ('a, tag)

let mapIdent: ('a => 'a, ('a, 'a)) => ('a, 'a)

let contents: ('a, 'a) => 'a

let toString: ('a => string, ('a, tag)) => string

let showPath: ( ~?paren: option(string => bool), Path.t ) => string

let showLident: Longident.t => string

let showLoc: Location.t => string

let showType: Types.type_expr => string

type openn = { mut used: list(ident(Longident.t)), path: Path.t, loc: Location.t }

type open_stack = { mut closed: list(openn), mut opens: list(openn), parent: option(open_stack) }

let pathToLident: Path.t => Longident.t

let addLidentToPath: (Path.t, Longident.t) => Path.t

let usesOpen: (Longident.t, Path.t) => bool

let relative: (Longident.t, Path.t) => Path.t

module F

This module does not have a toplevel documentation block.

include TypedtreeIter.DefaultIteratorArgument

let enter_structure: Typedtree.structure => unit

let enter_value_description: Typedtree.value_description => unit

let enter_type_extension: Typedtree.type_extension => unit

let enter_extension_constructor: Typedtree.extension_constructor => unit

let enter_pattern: Typedtree.pattern => unit

let enter_expression: Typedtree.expression => unit

let enter_package_type: Typedtree.package_type => unit

let enter_signature: Typedtree.signature => unit

let enter_signature_item: Typedtree.signature_item => unit

let enter_module_type_declaration: Typedtree.module_type_declaration => unit

let enter_module_type: Typedtree.module_type => unit

let enter_module_expr: Typedtree.module_expr => unit

let enter_with_constraint: Typedtree.with_constraint => unit

let enter_class_expr: Typedtree.class_expr => unit

let enter_class_signature: Typedtree.class_signature => unit

let enter_class_declaration: Typedtree.class_declaration => unit

let enter_class_description: Typedtree.class_description => unit

let enter_class_type_declaration: Typedtree.class_type_declaration => unit

let enter_class_type: Typedtree.class_type => unit

let enter_class_type_field: Typedtree.class_type_field => unit

let enter_core_type: Typedtree.core_type => unit

let enter_class_structure: Typedtree.class_structure => unit

let enter_class_field: Typedtree.class_field => unit

let enter_structure_item: Typedtree.structure_item => unit

let leave_structure: Typedtree.structure => unit

let leave_value_description: Typedtree.value_description => unit

let leave_type_extension: Typedtree.type_extension => unit

let leave_extension_constructor: Typedtree.extension_constructor => unit

let leave_pattern: Typedtree.pattern => unit

let leave_expression: Typedtree.expression => unit

let leave_package_type: Typedtree.package_type => unit

let leave_signature: Typedtree.signature => unit

let leave_signature_item: Typedtree.signature_item => unit

let leave_module_type_declaration: Typedtree.module_type_declaration => unit

let leave_module_type: Typedtree.module_type => unit

let leave_module_expr: Typedtree.module_expr => unit

let leave_with_constraint: Typedtree.with_constraint => unit

let leave_class_expr: Typedtree.class_expr => unit

let leave_class_signature: Typedtree.class_signature => unit

let leave_class_declaration: Typedtree.class_declaration => unit

let leave_class_description: Typedtree.class_description => unit

let leave_class_type_declaration: Typedtree.class_type_declaration => unit

let leave_class_type: Typedtree.class_type => unit

let leave_class_type_field: Typedtree.class_type_field => unit

let leave_core_type: Typedtree.core_type => unit

let leave_class_structure: Typedtree.class_structure => unit

let leave_class_field: Typedtree.class_field => unit

let leave_structure_item: Typedtree.structure_item => unit

let enter_bindings: Asttypes.rec_flag => unit

let enter_binding: Typedtree.value_binding => unit

let leave_binding: Typedtree.value_binding => unit

let leave_bindings: Asttypes.rec_flag => unit

let enter_type_declarations: Asttypes.rec_flag => unit

let enter_type_declaration: Typedtree.type_declaration => unit

let leave_type_declaration: Typedtree.type_declaration => unit

let leave_type_declarations: Asttypes.rec_flag => unit

let depth: Pervasives.ref(int)

let closed_stacks: Pervasives.ref(list(open_stack))

let open_stack: Pervasives.ref(open_stack)

let new_stack: unit => unit

let pop_stack: unit => unit

let add_open: (Path.t, Location.t) => unit

let pop_open: unit => unit

let add_use: ( ~?inferable: option(bool), (Path.t, tag), Longident.t, Location.t ) => unit

let dig: Types.type_expr => Types.type_expr

let enter_core_type: Typedtree.core_type => unit

let enter_type_declaration: Typedtree.type_declaration => unit

let handleConstructor: (Path.t, Longident.t) => ( string, Longident.t )

let handleRecord: (Path.t, Longident.t) => Longident.t

let enter_pattern: Typedtree.pattern => unit

let enter_structure_item: Typedtree.structure_item => unit

let leave_structure_item: Typedtree.structure_item => unit

let enter_expression: Typedtree.expression => unit

let leave_expression: Typedtree.expression => unit

let ppos: Lexing.position => string

let entry: ( Location.t, ~depth: int, ~?mend: option(Lexing.position), string ) => string

let type_to_string: Types.type_expr => string

type externalsUsed = list((Path.t, Location.t))

type bindings = Hashtbl.t(int, list((Ident.t, Location.t)))

let truncateLoc: (int, Location.t) => Location.t

Ok, so for things that have IDs, e.g. things in this file... we will just have a mapping of {id: {declaration: opt(ident), usages: list((ident, loc))}}

let collectTypes: Cmt_format.binary_annots => ( Hashtbl.t( (Lexing.position, Lexing.position), Types.type_expr ), Hashtbl.t('a, 'a), list('a), list(openn), Hashtbl.t((int, int), (Path.t, tag)) )