package merlin-lib
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=b0dcad092aaaf7a23f65ab9a089e8761bd665cc72357909e0ac6c2182f4fc2d4
sha512=9987baf2b2e82bab4c90a328bfcba9945e797e0f3d947156f04435ee84b49542844b379e35a79027c3ffe81f4b7a8f1c60803233999b4c039d4598033371880d
doc/merlin-lib.kernel/Merlin_kernel/Mtyper/index.html
Module Merlin_kernel.Mtyper
Source
Result of typechecker
Mtyper
essentially produces a typedtree, but to make sense of it the OCaml typechecker need to be in a specific state.
The result
type wraps a snapshot of this state with the typedtree to ensure correct accesses.
type typedtree = [
| `Interface of Ocaml_typing.Typedtree.signature
| `Implementation of Ocaml_typing.Typedtree.structure
]
type index_tbl =
(Ocaml_typing.Shape.Uid.t
* Ocaml_parsing.Longident.t Ocaml_parsing.Location.loc,
unit)
Merlin_utils.Stamped_hashtable.t
val set_index_items :
(index:index_tbl ->
stamp:int ->
Mconfig.t ->
[ `Impl of Ocaml_typing.Typedtree.structure_item list
| `Intf of Ocaml_typing.Typedtree.signature_item list ] ->
unit) ->
unit
Heuristic to find suitable environment to complete / type at given position. * 1. Try to find environment near given cursor. * 2. Check if there is an invalid construct between found env and cursor : * Case a. * > let x = valid_expr || * The env found is the right most env from valid_expr, it's a correct * answer. * Case b. * > let x = valid_expr * > let y = invalid_construction|| * In this case, the env found is the same as in case a, however it is * preferable to use env from enclosing module rather than an env from * inside x definition.