@@ -64,13 +64,20 @@ addUnions home unions (Opt.Graph mains nodes fields) =
6464
6565
6666addUnion :: ModuleName.Canonical -> Can.Union -> Nodes -> Nodes
67−addUnion home (Can.Union _ ctors _ _) nodes =
68− List.foldl' (addCtorNode home) nodes ctors
67+addUnion home (Can.Union _ ctors _ opts) nodes =
68+ List.foldl' (addCtorNode home opts) nodes ctors
6969
7070
71−addCtorNode :: ModuleName.Canonical -> Nodes -> Can.Ctor -> Nodes
72−addCtorNode home nodes (Can.Ctor name index numArgs _) =
73− Map.insert (Opt.Global home name) (Opt.Ctor name index numArgs) nodes
71+addCtorNode :: ModuleName.Canonical -> Can.CtorOpts -> Nodes -> Can.Ctor -> Nodes
72+addCtorNode home opts nodes (Can.Ctor name index numArgs _) =
73+ let
74+ node =
75+ case opts of
76+ Can.Normal -> Opt.Ctor name index numArgs
77+ Can.Unbox -> Opt.Box name
78+ Can.Enum -> Opt.Enum name index
79+ in
80+ Map.insert (Opt.Global home name) node nodes
7481
7582
7683