@@ -20,7 +20,7 @@ import qualified AST.Module.Name as ModuleName
2020import qualified Compile
2121import qualified Docs.Check as Docs
2222import qualified Elm.Compiler.Imports as Imports
23−import qualified Elm.Compiler.Module as PublicModule
23+import qualified Elm.Compiler.Module as M
2424import qualified Elm.Compiler.Version
2525import qualified Elm.Docs as Docs
2626import qualified Elm.Package as Package
@@ -55,7 +55,7 @@ data Tag
5555 | Port
5656
5757
58−parseDependencies :: Maybe Package.Name -> Text -> Either Error (Tag, PublicModule.Raw, [PublicModule.Raw])
58+parseDependencies :: Maybe Package.Name -> Text -> Either Error (Tag, M.Raw, [M.Raw])
5959parseDependencies maybePkgName sourceCode =
6060 case Parse.run Parse.header sourceCode of
6161 Right header ->
@@ -65,7 +65,7 @@ parseDependencies maybePkgName sourceCode =
6565 Left (Error (A.map Error.Syntax err))
6666
6767
68−getDeps :: Maybe Package.Name -> Module.Header [Module.UserImport] -> (Tag, PublicModule.Raw, [PublicModule.Raw])
68+getDeps :: Maybe Package.Name -> Module.Header [Module.UserImport] -> (Tag, M.Raw, [M.Raw])
6969getDeps maybePkgName (Module.Header sourceTag name _ _ _ imports) =
7070 let
7171 tag =
@@ -88,15 +88,15 @@ getDeps maybePkgName (Module.Header sourceTag name _ _ _ imports) =
8888
8989
9090{-| Compiles Elm source code to JavaScript. -}
91−compile :: Context -> Text -> PublicModule.Interfaces -> (Localizer, [Warning], Either [Error] Result)
92−compile context source interfaces =
91+compile :: Context -> Text -> (Localizer, [Warning], Either [Error] Result)
92+compile context source =
9393 let
94− (Context packageName isExposed dependencies) =
94+ (Context packageName exposed importDict interfaces) =
9595 context
9696
9797 (Result.Result oneLocalizer warnings answer) =
98− do modul <- Compile.compile packageName dependencies interfaces source
99− docs <- Result.format id (docsGen isExposed modul)
98+ do modul <- Compile.compile packageName importDict interfaces source
99+ docs <- Result.format id (docsGen exposed modul)
100100
101101 let interface = Module.toInterface packageName modul
102102 let javascript = {-# SCC elm_compiler_generate #-} JS.generate modul
@@ -111,15 +111,16 @@ compile context source interfaces =
111111
112112data Context =
113113 Context
114− { _packageName :: Package.Name
115− , _isExposed :: Bool
116− , _dependencies :: [PublicModule.Canonical]
114+ { _package :: Package.Name
115+ , _exposed :: Bool
116+ , _imports :: Map.Map M.Raw M.Canonical
117+ , _interfaces :: M.Interfaces
117118 }
118119
119120
120121data Result = Result
121122 { _docs :: Maybe Docs.Documentation
122− , _interface :: PublicModule.Interface
123+ , _interface :: M.Interface
123124 , _js :: LazyText.Text
124125 }
125126