on master help sign in
Have Nitpick.Debug just tell if a LocalGraph has any debug uses
c5e2ff5Evan Czaplicki
compiler/src/Nitpick/Debug.hs+6−18
@@ -1,33 +1,21 @@
1module Nitpick.Debug
1module Nitpick.Debug
2− ( findDebugUses
2+ ( hasDebugUses
3 )
3 )
4 where
4 where
5
5
6
6
7−import qualified Data.Map as Map
7+import qualified Data.Map.Utils as Map
8−import qualified Data.Name as Name
9−import qualified Data.Set as Set
10
8
11import qualified AST.Optimized as Opt
9import qualified AST.Optimized as Opt
12−import qualified Elm.ModuleName as ModuleName
13−import qualified Elm.Package as Pkg
14
10
15
11
16
12
17−-- FIND DEBUG USES
13+-- HAS DEBUG USES
18
14
19
15
20−findDebugUses :: Pkg.Name -> Opt.Graph -> [Name.Name]
16+hasDebugUses :: Opt.LocalGraph -> Bool
21−findDebugUses pkg (Opt.Graph _ graph _) =
17+hasDebugUses (Opt.LocalGraph _ graph _) =
22− Set.toList $ Map.foldrWithKey (addDebugUses pkg) Set.empty graph
23−
24−
25−addDebugUses :: Pkg.Name -> Opt.Global -> Opt.Node -> Set.Set Name.Name -> Set.Set Name.Name
26−addDebugUses here (Opt.Global (ModuleName.Canonical pkg home) _) node uses =
27− if pkg == here && nodeHasDebug node then
18+ Map.any nodeHasDebug graph
28− Set.insert home uses
29− else
30− uses
31
19
32
20
33nodeHasDebug :: Opt.Node -> Bool
21nodeHasDebug :: Opt.Node -> Bool