Skip alias modules in the map
This commit is contained in:
parent
ec9ff813ad
commit
1dbf960d41
|
@ -119,9 +119,15 @@ let parse_deps ~dir ~file ~unit
|
||||||
let rules ~(ml_kind:Ml_kind.t) ~dir ~modules
|
let rules ~(ml_kind:Ml_kind.t) ~dir ~modules
|
||||||
?(already_used=Module.Name.Set.empty)
|
?(already_used=Module.Name.Set.empty)
|
||||||
~alias_module ~lib_interface_module sctx =
|
~alias_module ~lib_interface_module sctx =
|
||||||
|
let is_alias_module (m : Module.t) =
|
||||||
|
match alias_module with
|
||||||
|
| None -> false
|
||||||
|
| Some (alias : Module.t) -> alias.name = m.name
|
||||||
|
in
|
||||||
let per_module =
|
let per_module =
|
||||||
Module.Name.Map.map modules ~f:(fun unit ->
|
Module.Name.Map.map modules ~f:(fun unit ->
|
||||||
match Module.file ~dir unit ml_kind with
|
match Module.file ~dir unit ml_kind with
|
||||||
|
| _ when is_alias_module unit -> Build.return []
|
||||||
| None -> Build.return []
|
| None -> Build.return []
|
||||||
| Some file ->
|
| Some file ->
|
||||||
let all_deps_path file =
|
let all_deps_path file =
|
||||||
|
@ -141,8 +147,8 @@ let rules ~(ml_kind:Ml_kind.t) ~dir ~modules
|
||||||
let dependency_file_path m =
|
let dependency_file_path m =
|
||||||
let path =
|
let path =
|
||||||
match Module.file ~dir m Ml_kind.Intf with
|
match Module.file ~dir m Ml_kind.Intf with
|
||||||
|
| _ when is_alias_module m -> None
|
||||||
| Some _ as x -> x
|
| Some _ as x -> x
|
||||||
| None when Option.is_some alias_module -> None
|
|
||||||
| None -> Module.file ~dir m Ml_kind.Impl
|
| None -> Module.file ~dir m Ml_kind.Impl
|
||||||
in
|
in
|
||||||
Option.map path ~f:all_deps_path
|
Option.map path ~f:all_deps_path
|
||||||
|
@ -165,11 +171,6 @@ let rules ~(ml_kind:Ml_kind.t) ~dir ~modules
|
||||||
( Build.lines_of all_deps_file
|
( Build.lines_of all_deps_file
|
||||||
>>^ parse_module_names ~unit ~modules))
|
>>^ parse_module_names ~unit ~modules))
|
||||||
in
|
in
|
||||||
let per_module =
|
|
||||||
match alias_module with
|
|
||||||
| None -> per_module
|
|
||||||
| Some m -> Module.Name.Map.add per_module m.name (Build.return [])
|
|
||||||
in
|
|
||||||
{ Dep_graph.
|
{ Dep_graph.
|
||||||
dir
|
dir
|
||||||
; per_module
|
; per_module
|
||||||
|
|
Loading…
Reference in New Issue