on master help sign in
Give a nicer error message if certain bug manifests
39ae03cEvan Czaplicki
src/Generate/JavaScript.hs+11−1
@@ -7,6 +7,7 @@ import Data.Monoid ((<>))
7import qualified Data.List as List
7import qualified Data.List as List
8import qualified Data.Map as Map
8import qualified Data.Map as Map
9import qualified Data.Set as Set
9import qualified Data.Set as Set
10+import qualified Data.Text as Text
10import Data.Text (Text)
11import Data.Text (Text)
11import qualified Data.ByteString.Builder as BS
12import qualified Data.ByteString.Builder as BS
12
13
@@ -80,7 +81,7 @@ crawl graph state@(State js seen natives effects) name@(Var.Global home _) =
80 if ModuleName.canonicalIsNative home then
81 if ModuleName.canonicalIsNative home then
81 State js seen (Set.insert home natives) effects
82 State js seen (Set.insert home natives) effects
82 else
83 else
83− error "TODO something went wrong"
84+ error (crawlError name)
84
85
85
86
86crawlDecl :: Graph -> Var.Global -> Opt.Decl -> State -> State
87crawlDecl :: Graph -> Var.Global -> Opt.Decl -> State -> State
@@ -105,6 +106,15 @@ crawlDecl graph name@(Var.Global home _) (Opt.Decl deps mfx body) state =
105 }
106 }
106
107
107
108
109+crawlError :: Var.Global -> String
110+crawlError (Var.Global (ModuleName.Canonical pkg home) name) =
111+ Text.unpack $
112+ "compiler bug manifesting in Generate.JavaScript\n"
113+ <> "could not find " <> Pkg.toText pkg <> " " <> ModuleName.toText home <> "." <> name <> "\n"
114+ <> "please report at <https://github.com/elm-lang/elm-compiler/issues>\n"
115+ <> "try to make an <http://sscce.org/> that demonstrates the issue!"
116+
117+
108generateDecl :: Var.Global -> Opt.Def -> BS.Builder
118generateDecl :: Var.Global -> Opt.Def -> BS.Builder
109generateDecl (Var.Global home name) def =
119generateDecl (Var.Global home name) def =
110 let
120 let