on master help sign in
Minor updates needed because of AST changes
commitd78e502a976acbba5b58ea104227b87ae5e9f006 authorEvan Czaplicki <evancz@users.noreply.github.com> dateWed 10 Jan 2018, 02:11 (9 years ago) parentdecec2d
3 files changed+18−9
src/Elm/Compiler/Type.hs+4−1 src/Elm/Compiler/Type/Extract.hs+10−4 src/Elm/Docs.hs+4−4
src/Elm/Compiler/Type.hs+4−1
@@ -216,7 +216,10 @@ fromRawType (A.At _ astType) =
216216 (fromRawType b)
217217 (map fromRawType cs)
218218
219− Src.TType _ _ name args ->
219+ Src.TType _ name args ->
220+ Type name (map fromRawType args)
221+
222+ Src.TTypeQual _ _ name args ->
220223 Type name (map fromRawType args)
221224
222225 Src.TRecord fields ext ->
src/Elm/Compiler/Type/Extract.hs+10−4
@@ -133,11 +133,17 @@ extractAlias interfaces (Opt.Global home name) =
133133extractUnion :: I.Interfaces -> Opt.Global -> Extractor T.Union
134134extractUnion interfaces (Opt.Global home name) =
135135 let
136− (I.Interface _ unions _ _) = interfaces ! home
137− (Can.Union args constructors) = unions ! name
136+ pname = toPublicName home name
137+ unions = I._unions (interfaces ! home)
138138 in
139− T.Union (toPublicName home name) args
140− <$> traverse (traverse (traverse extract)) constructors
139+ case unions ! name of
140+ Can.Union vars ctors _ _ ->
141+ T.Union pname vars <$> traverse extractCtor ctors
142+
143+
144+extractCtor :: Can.Ctor -> Extractor (N.Name, [T.Type])
145+extractCtor (Can.Ctor ctor _ _ args) =
146+ (,) ctor <$> traverse extract args
141147
142148
143149
src/Elm/Docs.hs+4−4
@@ -443,14 +443,14 @@ addExport info (Module n c us as_ vs bs) (name, A.At region export) =
443443 Result.ok $ Module n c us newAliases vs bs
444444
445445 Can.ExportUnionOpen ->
446− do let (Can.Union tvars ctors) = _iUnions info ! name
446+ do let (Can.Union tvars ctors _ _) = _iUnions info ! name
447447 comment <- getComment region name info
448448
449449 let newUnions = Map.insert name (Union comment tvars (map dector ctors)) us
450450 Result.ok $ Module n c newUnions as_ vs bs
451451
452452 Can.ExportUnionClosed ->
453− do let (Can.Union tvars _) = _iUnions info ! name
453+ do let (Can.Union tvars _ _ _) = _iUnions info ! name
454454 comment <- getComment region name info
455455
456456 let newUnions = Map.insert name (Union comment tvars []) us
@@ -480,8 +480,8 @@ getType name info =
480480 Result.ok (Extract.fromType tipe)
481481
482482
483−dector :: (N.Name, [Can.Type]) -> (N.Name, [Type.Type])
484−dector (name, args) =
483+dector :: Can.Ctor -> (N.Name, [Type.Type])
484+dector (Can.Ctor name _ _ args) =
485485 ( name, map Extract.fromType args )
486486
487487