Skip to content

Commit d8fbdb8

Browse files
committed
Use module type to resolve references.
1 parent c8f1f1f commit d8fbdb8

File tree

3 files changed

+8
-7
lines changed

3 files changed

+8
-7
lines changed

analysis/src/Hover.ml

+3-2
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ let rec showModule ~docstring ~(file : SharedTypes.file) ~name
4545
| None -> showModuleTopLevel ~docstring ~name file.contents.topLevel
4646
| Some {item = Structure {topLevel}} ->
4747
showModuleTopLevel ~docstring ~name topLevel
48-
| Some ({item = Constraint (_, moduleType)} as declared) ->
48+
| Some ({item = Constraint (_moduleItem, moduleTypeItem)} as declared) ->
4949
(* show the interface *)
50-
showModule ~docstring ~file ~name (Some {declared with item = moduleType})
50+
showModule ~docstring ~file ~name
51+
(Some {declared with item = moduleTypeItem})
5152
| Some {item = Ident path} ->
5253
Some ("Unable to resolve module reference " ^ Path.name path)
5354

analysis/src/References.ml

+2-2
Original file line numberDiff line numberDiff line change
@@ -197,8 +197,8 @@ let alternateDeclared ~file ~package declared tip =
197197
let rec resolveModuleReference ~file ~package (declared : moduleKind declared) =
198198
match declared.item with
199199
| Structure _ -> Some (file, Some declared)
200-
| Constraint (moduleItem, _moduleTypeItem) ->
201-
resolveModuleReference ~file ~package {declared with item = moduleItem}
200+
| Constraint (_moduleItem, moduleTypeItem) ->
201+
resolveModuleReference ~file ~package {declared with item = moduleTypeItem}
202202
| Ident path -> (
203203
let env = ProcessCmt.fileEnv file in
204204
match ProcessCmt.fromCompilerPath ~env path with

analysis/tests/src/expected/Hover.res.txt

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ Hover tests/src/Hover.res 47:13
3232
{"contents": "```rescript\nmodule Logger = {\n let log: string => unit\n}\n```"}
3333

3434
Hover tests/src/Hover.res 52:7
35-
{"contents": "```rescript\nmodule JsLogger = {\n let log: string => unit\n let _oneMore: int\n}\n```"}
35+
{"contents": "```rescript\nmodule Logger = {\n let log: string => unit\n}\n```"}
3636

3737
Definition tests/src/Hover.res 58:14
38-
{"uri": "Hover.res", "range": {"start": {"line": 52, "character": 7}, "end": {"line": 52, "character": 15}}}
38+
{"uri": "Hover.res", "range": {"start": {"line": 47, "character": 12}, "end": {"line": 47, "character": 18}}}
3939

4040
Hover tests/src/Hover.res 62:9
41-
{"contents": "```rescript\nmodule IdDefinedTwice = {\n let x: int\n let y: int\n let x: int\n}\n```"}
41+
{"contents": "```rescript\nmodule IdDefinedTwice = {\n let y: int\n let x: int\n}\n```"}
4242

4343
Hover tests/src/Hover.res 71:7
4444
{"contents": "```rescript\nmodule A = {\n let x: int\n}\n```"}

0 commit comments

Comments
 (0)