on master help sign in
Update Optimize/* for changes in AST and Regions
9fc0613Evan Czaplicki
compiler/src/Optimize/DecisionTree.hs+3−3
@@ -27,7 +27,7 @@ import qualified Data.List as List
27import qualified Data.Maybe as Maybe
27import qualified Data.Maybe as Maybe
28import qualified Data.Name as Name
28import qualified Data.Name as Name
29import qualified Data.Set as Set
29import qualified Data.Set as Set
30−import Data.Utf8 (Utf8)
30+import qualified Data.Utf8 as Utf8
31
31
32import qualified AST.Canonical as Can
32import qualified AST.Canonical as Can
33import qualified Data.Index as Index
33import qualified Data.Index as Index
@@ -77,8 +77,8 @@ data Test
77 | IsNil
77 | IsNil
78 | IsTuple
78 | IsTuple
79 | IsInt Int
79 | IsInt Int
80− | IsChr Utf8
80+ | IsChr Utf8.String
81− | IsStr Utf8
81+ | IsStr Utf8.String
82 | IsBool Bool
82 | IsBool Bool
83 deriving (Eq, Ord)
83 deriving (Eq, Ord)
84
84
compiler/src/Optimize/Expression.hs+1−1
@@ -170,7 +170,7 @@ optimize cycle (A.At region expression) =
170 <*> optimize cycle b
170 <*> optimize cycle b
171 <*> traverse (optimize cycle) maybeC
171 <*> traverse (optimize cycle) maybeC
172
172
173− Can.Shader _ src (Shader.Shader attributes uniforms _varyings) ->
173+ Can.Shader src (Shader.Types attributes uniforms _varyings) ->
174 pure (Opt.Shader src (Map.keysSet attributes) (Map.keysSet uniforms))
174 pure (Opt.Shader src (Map.keysSet attributes) (Map.keysSet uniforms))
175
175
176
176
compiler/src/Optimize/Module.hs+3−4
@@ -24,7 +24,6 @@ import qualified Optimize.Names as Names
24import qualified Optimize.Port as Port
24import qualified Optimize.Port as Port
25import qualified Reporting.Annotation as A
25import qualified Reporting.Annotation as A
26import qualified Reporting.Error.Main as E
26import qualified Reporting.Error.Main as E
27−import qualified Reporting.Region as R
28import qualified Reporting.Result as Result
27import qualified Reporting.Result as Result
29import qualified Reporting.Warning as W
28import qualified Reporting.Warning as W
30
29
@@ -42,7 +41,7 @@ type Annotations =
42
41
43
42
44optimize :: Annotations -> Can.Module -> Result i [W.Warning] Opt.Graph
43optimize :: Annotations -> Can.Module -> Result i [W.Warning] Opt.Graph
45−optimize annotations (Can.Module home _ _ decls unions aliases _ effects) =
44+optimize annotations (Can.Module home _ decls unions aliases _ effects) =
46 addDecls home annotations decls $
45 addDecls home annotations decls $
47 addEffects home effects $
46 addEffects home effects $
48 addUnions home unions $
47 addUnions home unions $
@@ -204,7 +203,7 @@ addDecls home annotations decls graph =
204 Result.ok graph
203 Result.ok graph
205
204
206
205
207−findMain :: [Can.Def] -> Maybe R.Region
206+findMain :: [Can.Def] -> Maybe A.Region
208findMain defs =
207findMain defs =
209 case defs of
208 case defs of
210 [] ->
209 [] ->
@@ -242,7 +241,7 @@ addDef home annotations def graph =
242 addDefHelp region annotations home name (map fst typedArgs) body graph
241 addDefHelp region annotations home name (map fst typedArgs) body graph
243
242
244
243
245−addDefHelp :: R.Region -> Annotations -> ModuleName.Canonical -> Name.Name -> [Can.Pattern] -> Can.Expr -> Opt.Graph -> Result i w Opt.Graph
244+addDefHelp :: A.Region -> Annotations -> ModuleName.Canonical -> Name.Name -> [Can.Pattern] -> Can.Expr -> Opt.Graph -> Result i w Opt.Graph
246addDefHelp region annotations home name args body graph@(Opt.Graph mains nodes fieldCounts) =
245addDefHelp region annotations home name args body graph@(Opt.Graph mains nodes fieldCounts) =
247 if name /= Name.main then
246 if name /= Name.main then
248 Result.ok (addDefNode home name args body Set.empty graph)
247 Result.ok (addDefNode home name args body Set.empty graph)
compiler/src/Optimize/Names.hs+2−2
@@ -25,7 +25,7 @@ import qualified AST.Optimized as Opt
25import qualified Data.Index as Index
25import qualified Data.Index as Index
26import qualified Elm.ModuleName as ModuleName
26import qualified Elm.ModuleName as ModuleName
27import qualified Elm.Package as Pkg
27import qualified Elm.Package as Pkg
28−import qualified Reporting.Region as R
28+import qualified Reporting.Annotation as A
29
29
30
30
31
31
@@ -73,7 +73,7 @@ registerGlobal home name =
73 ok uid (Set.insert global deps) fields (Opt.VarGlobal global)
73 ok uid (Set.insert global deps) fields (Opt.VarGlobal global)
74
74
75
75
76−registerDebug :: Name.Name -> ModuleName.Canonical -> R.Region -> Tracker Opt.Expr
76+registerDebug :: Name.Name -> ModuleName.Canonical -> A.Region -> Tracker Opt.Expr
77registerDebug name home region =
77registerDebug name home region =
78 Tracker $ \uid deps fields ok ->
78 Tracker $ \uid deps fields ok ->
79 let global = Opt.Global ModuleName.debug name in
79 let global = Opt.Global ModuleName.debug name in