diff --git a/analysis/src/ProcessCmt.ml b/analysis/src/ProcessCmt.ml index e9ba99a04..dd14dfb67 100644 --- a/analysis/src/ProcessCmt.ml +++ b/analysis/src/ProcessCmt.ml @@ -916,8 +916,8 @@ struct | Texp_open (_, _path, _ident, _) -> Hashtbl.add extra.opens eloc () | _ -> ()); match expression.exp_desc with - | Texp_ident (path, {txt; loc}, {val_type}) -> - addForLongident (Some (val_type, Value)) path txt loc + | Texp_ident (path, {txt; loc}, _) -> + addForLongident (Some (expression.exp_type, Value)) path txt loc | Texp_record {fields} -> addForRecord expression.exp_type (fields |> Array.to_list diff --git a/analysis/tests/src/Hover.res b/analysis/tests/src/Hover.res index 04e6297e4..e0cbbf16a 100644 --- a/analysis/tests/src/Hover.res +++ b/analysis/tests/src/Hover.res @@ -96,3 +96,16 @@ let _get = r => r.f +. r.i let withAs = (~xx as yyy) => yyy + 1 // ^hov + +module AA = { + type cond<'a> = [< #str(string)] as 'a + let fnnxx = (b: cond<_>) => true ? b : b +} + +let funAlias = AA.fnnxx + +let typeOk = funAlias +// ^hov + +let typeDuplicate = AA.fnnxx +// ^hov diff --git a/analysis/tests/src/expected/Fragment.res.txt b/analysis/tests/src/expected/Fragment.res.txt index e3ba9a7fa..9c9b80943 100644 --- a/analysis/tests/src/expected/Fragment.res.txt +++ b/analysis/tests/src/expected/Fragment.res.txt @@ -1,5 +1,5 @@ Hover tests/src/Fragment.res 6:19 -{"contents": "```rescript\n{\"children\": 'children} => 'children\n```"} +{"contents": "```rescript\nReact.component<{\"children\": React.element}>\n```\n\n```rescript\ntype component<'props> = componentLike<'props, element>\n```"} Hover tests/src/Fragment.res 9:56 null diff --git a/analysis/tests/src/expected/Hover.res.txt b/analysis/tests/src/expected/Hover.res.txt index fd3d7454d..1e7b5331d 100644 --- a/analysis/tests/src/expected/Hover.res.txt +++ b/analysis/tests/src/expected/Hover.res.txt @@ -47,10 +47,10 @@ Hover tests/src/Hover.res 75:7 {"contents": "```rescript\nmodule A = {\n let x: int\n}\n```"} Hover tests/src/Hover.res 85:10 -{"contents": "```rescript\n{\"children\": React.element} => React.element\n```"} +{"contents": "```rescript\nReact.component<{\"children\": React.element}>\n```\n\n```rescript\ntype component<'props> = componentLike<'props, element>\n```"} Hover tests/src/Hover.res 88:10 -{"contents": "```rescript\n{\"children\": React.element} => React.element\n```"} +{"contents": "```rescript\nReact.component<{\"children\": React.element}>\n```\n\n```rescript\ntype component<'props> = componentLike<'props, element>\n```"} Hover tests/src/Hover.res 93:25 {"contents": "```rescript\nfloat\n```"} @@ -58,3 +58,9 @@ Hover tests/src/Hover.res 93:25 Hover tests/src/Hover.res 96:21 {"contents": "```rescript\nint\n```"} +Hover tests/src/Hover.res 106:16 +{"contents": "```rescript\nAA.cond<[< #str(string)]> => AA.cond<[< #str(string)]>\n```"} + +Hover tests/src/Hover.res 109:25 +{"contents": "```rescript\nAA.cond<[< #str(string)]> => AA.cond<[< #str(string)]>\n```"} +