@@ -39,8 +39,8 @@ environment importDict interfaces (Module.Module name _ info) =
39 allImports =
39 allImports =
40 imports ++ map (A.A (error "default import not found")) defaults
40 imports ++ map (A.A (error "default import not found")) defaults
42− importIngredients =
42+ getImportPatches =
43− unzip <$> Trav.traverse (importPatches importDict interfaces) allImports
43+ Trav.traverse (importToPatches importDict interfaces) allImports
45 (typeAliasNodes, declPatches) =
45 (typeAliasNodes, declPatches) =
46 declarationsToPatches name decls
46 declarationsToPatches name decls
@@ -48,13 +48,12 @@ environment importDict interfaces (Module.Module name _ info) =
48 effectPatches =
48 effectPatches =
49 effectsToPatches name effects
49 effectsToPatches name effects
51− createEnv (moduleNamePairs, patchLists) =
51+ createEnv importPatches =
52 Env.fromPatches
52 Env.fromPatches
54− (Map.fromList (Maybe.catMaybes moduleNamePairs))
55− (concat (Env.builtinPatches : declPatches : effectPatches : patchLists))
54+ (concat (Env.builtinPatches : declPatches : effectPatches : importPatches))
57− (createEnv <$> importIngredients)
56+ (createEnv <$> getImportPatches)
58 `Result.andThen` addTypeAliases name typeAliasNodes
57 `Result.andThen` addTypeAliases name typeAliasNodes
@@ -62,12 +61,12 @@ environment importDict interfaces (Module.Module name _ info) =
62-- PATCHES FOR IMPORTS
61-- PATCHES FOR IMPORTS
65−importPatches
64+importToPatches
66 :: Map.Map ModuleName.Raw ModuleName.Canonical
65 :: Map.Map ModuleName.Raw ModuleName.Canonical
67 -> Module.Interfaces
66 -> Module.Interfaces
68 -> A.Located (ModuleName.Raw, Module.ImportMethod)
67 -> A.Located (ModuleName.Raw, Module.ImportMethod)
69− -> Result.ResultErr (Maybe (String, ModuleName.Canonical), [Env.Patch])
68+ -> Result.ResultErr [Env.Patch]
70−importPatches importDict allInterfaces (A.A region (rawImportName, method)) =
69+importToPatches importDict allInterfaces (A.A region (rawImportName, method)) =
72 maybeInterface =
71 maybeInterface =
73 do canonicalName <- Map.lookup rawImportName importDict
72 do canonicalName <- Map.lookup rawImportName importDict
@@ -77,7 +76,7 @@ importPatches importDict allInterfaces (A.A region (rawImportName, method)) =
77 case maybeInterface of
76 case maybeInterface of
78 Nothing ->
77 Nothing ->
79 if ModuleName.isNative rawImportName then
78 if ModuleName.isNative rawImportName then
80− Result.ok (Nothing, [])
79+ Result.ok []
83 allInterfaces
82 allInterfaces
@@ -100,21 +99,20 @@ importPatches importDict allInterfaces (A.A region (rawImportName, method)) =
100 maybe (ModuleName.toString rawImportName) id maybeAlias
99 maybe (ModuleName.toString rawImportName) id maybeAlias
102 qualifiedPatches =
101 qualifiedPatches =
103− interfacePatches importName (qualifier ++ ".") interface
102+ interfaceToPatches importName (qualifier ++ ".") interface
105 unqualifiedPatches =
104 unqualifiedPatches =
106 if open then
105 if open then
107− Result.ok (interfacePatches importName "" interface)
106+ Result.ok (interfaceToPatches importName "" interface)
110 concat <$> Trav.traverse (valueToPatches region importName interface) exposedValues
109 concat <$> Trav.traverse (valueToPatches region importName interface) exposedValues
112− (,) (Just (qualifier, importName)) <$>
113− ((++) qualifiedPatches <$> unqualifiedPatches)
111+ (++) qualifiedPatches <$> unqualifiedPatches
116−interfacePatches :: ModuleName.Canonical -> String -> Module.Interface -> [Env.Patch]
114+interfaceToPatches :: ModuleName.Canonical -> String -> Module.Interface -> [Env.Patch]
117−interfacePatches moduleName prefix interface =
115+interfaceToPatches moduleName prefix interface =
119 genericPatch mkPatch name value =
117 genericPatch mkPatch name value =
120 mkPatch (prefix ++ name) value
118 mkPatch (prefix ++ name) value