1
1
open SharedTypes
2
2
3
+ let fullForCmt ~moduleName ~package ~uri cmt =
4
+ match Shared. tryReadCmt cmt with
5
+ | None -> None
6
+ | Some infos ->
7
+ let file = ProcessCmt. fileForCmtInfos ~module Name ~uri infos in
8
+ let extra = ProcessExtra. getExtra ~file ~infos in
9
+ Some {file; extra; package}
10
+
3
11
let fullFromUri ~uri =
4
12
let path = Uri2. toPath uri in
5
13
match Packages. getPackage ~uri with
@@ -11,7 +19,7 @@ let fullFromUri ~uri =
11
19
match Hashtbl. find_opt package.pathsForModule moduleName with
12
20
| Some paths ->
13
21
let cmt = getCmtPath ~uri paths in
14
- ProcessCmt. fullForCmt ~module Name ~package ~uri cmt
22
+ fullForCmt ~module Name ~package ~uri cmt
15
23
| None ->
16
24
prerr_endline (" can't find module " ^ moduleName);
17
25
None )
@@ -26,69 +34,3 @@ let fullFromModule ~package ~moduleName =
26
34
let fullFromPath ~path =
27
35
let uri = Uri2. fromPath path in
28
36
fullFromUri ~uri
29
-
30
- let resolveModuleFromCompilerPath ~env ~package path =
31
- match ProcessCmt. fromCompilerPath ~env path with
32
- | `Global (moduleName , path ) -> (
33
- match ProcessCmt. fileForModule ~package moduleName with
34
- | None -> None
35
- | Some file -> (
36
- let env = QueryEnv. fromFile file in
37
- match ProcessCmt. resolvePath ~env ~package ~path with
38
- | None -> None
39
- | Some (env , name ) -> (
40
- match Exported. find env.exported Exported. Module name with
41
- | None -> None
42
- | Some stamp -> (
43
- match Stamps. findModule env.file.stamps stamp with
44
- | None -> None
45
- | Some declared -> Some (env, Some declared)))))
46
- | `Stamp stamp -> (
47
- match Stamps. findModule env.file.stamps stamp with
48
- | None -> None
49
- | Some declared -> Some (env, Some declared))
50
- | `GlobalMod moduleName -> (
51
- match ProcessCmt. fileForModule ~package moduleName with
52
- | None -> None
53
- | Some file ->
54
- let env = QueryEnv. fromFile file in
55
- Some (env, None ))
56
- | `Not_found -> None
57
- | `Exported (env , name ) -> (
58
- match Exported. find env.exported Exported. Module name with
59
- | None -> None
60
- | Some stamp -> (
61
- match Stamps. findModule env.file.stamps stamp with
62
- | None -> None
63
- | Some declared -> Some (env, Some declared)))
64
-
65
- let resolveFromCompilerPath ~env ~package path =
66
- match ProcessCmt. fromCompilerPath ~env path with
67
- | `Global (moduleName , path ) -> (
68
- let res =
69
- match ProcessCmt. fileForModule ~package moduleName with
70
- | None -> None
71
- | Some file ->
72
- let env = QueryEnv. fromFile file in
73
- ProcessCmt. resolvePath ~env ~package ~path
74
- in
75
- match res with
76
- | None -> `Not_found
77
- | Some (env , name ) -> `Exported (env, name))
78
- | `Stamp stamp -> `Stamp stamp
79
- | `GlobalMod _ -> `Not_found
80
- | `Not_found -> `Not_found
81
- | `Exported (env , name ) -> `Exported (env, name)
82
-
83
- let rec getSourceUri ~(env : QueryEnv.t ) ~package path =
84
- match path with
85
- | File (uri , _moduleName ) -> uri
86
- | NotVisible -> env.file.uri
87
- | IncludedModule (path , inner ) -> (
88
- Log. log " INCLUDED MODULE" ;
89
- match resolveModuleFromCompilerPath ~env ~package path with
90
- | None ->
91
- Log. log " NOT FOUND" ;
92
- getSourceUri ~env ~package inner
93
- | Some (env , _declared ) -> env.file.uri)
94
- | ExportedModule (_ , inner ) -> getSourceUri ~env ~package inner
0 commit comments