@@ -17,12 +17,12 @@ module Parse.Primitives.Variable
1717import Control.Exception (assert)
1818import Data.Bits ((.&.), (.|.), shiftL)
1919import qualified Data.Char as Char
20+import qualified Data.Name as Name
2021import qualified Data.Set as Set
2122import Foreign.ForeignPtr (ForeignPtr)
2223import GHC.Word (Word8)
2324
2425import qualified AST.Source as Src
25−import qualified Elm.Name as N
2626import Parse.Primitives.Internals (Parser(..), State(..), expect, noError, unsafeIndex)
2727import qualified Reporting.Error.Syntax as E
2828
@@ -31,14 +31,14 @@ import qualified Reporting.Error.Syntax as E
3131-- LOCAL UPPER
3232
3333
34−upper :: Parser N.Name
34+upper :: Parser Name.Name
3535upper =
3636 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
3737 let (# newOffset, newCol #) = chompUpper fp offset terminal col in
3838 if offset == newOffset then
3939 eerr (expect row col ctx E.CapVar)
4040 else
41− let !name = N.fromForeignPtr fp offset (newOffset - offset) in
41+ let !name = Name.fromByteString fp offset (newOffset - offset) in
4242 cok name (State fp newOffset terminal indent row newCol ctx) noError
4343
4444
@@ -46,14 +46,14 @@ upper =
4646-- LOCAL LOWER
4747
4848
49−lower :: Parser N.Name
49+lower :: Parser Name.Name
5050lower =
5151 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
5252 let (# newOffset, newCol #) = chompLower fp offset terminal col in
5353 if offset == newOffset then
5454 eerr (expect row col ctx E.LowVar)
5555 else
56− let !name = N.fromForeignPtr fp offset (newOffset - offset) in
56+ let !name = Name.fromByteString fp offset (newOffset - offset) in
5757 if Set.member name reservedWords then
5858 eerr (expect row col ctx E.LowVar)
5959 else
@@ -61,7 +61,7 @@ lower =
6161
6262
6363{-# NOINLINE reservedWords #-}
64−reservedWords :: Set.Set N.Name
64+reservedWords :: Set.Set Name.Name
6565reservedWords =
6666 Set.fromList
6767 [ "if", "then", "else"
@@ -79,7 +79,7 @@ reservedWords =
7979-- MODULE NAME
8080
8181
82−moduleName :: Parser N.Name
82+moduleName :: Parser Name.Name
8383moduleName =
8484 Parser $ \(State fp offset terminal indent row col ctx) cok _ _ eerr ->
8585 let (# newOffset, newCol #) = chompUpper fp offset terminal col in
@@ -89,7 +89,7 @@ moduleName =
8989
9090 Good end endCol ->
9191 let
92− !name = N.fromForeignPtr fp offset (end - offset)
92+ !name = Name.fromByteString fp offset (end - offset)
9393 !newState = State fp end terminal indent row endCol ctx
9494 in
9595 cok name newState noError
@@ -119,8 +119,8 @@ moduleNameHelp fp offset terminal col =
119119
120120
121121data Upper
122− = Unqualified N.Name
123− | Qualified N.Name N.Name
122+ = Unqualified Name.Name
123+ | Qualified Name.Name Name.Name
124124
125125
126126foreignUpper :: Parser Upper
@@ -132,12 +132,12 @@ foreignUpper =
132132 else
133133 let
134134 !newState = State fp end terminal indent row newCol ctx
135− !name = N.fromForeignPtr fp start (end - start)
135+ !name = Name.fromByteString fp start (end - start)
136136 !foreign =
137137 if start == offset then
138138 Unqualified name
139139 else
140− let !home = N.fromForeignPtr fp offset ((start - 1) - offset) in
140+ let !home = Name.fromByteString fp offset ((start - 1) - offset) in
141141 Qualified home name
142142 in
143143 cok foreign newState noError
@@ -171,7 +171,7 @@ foreignAlpha =
171171 else
172172 let
173173 !newState = State fp end terminal indent row newCol ctx
174− !name = N.fromForeignPtr fp start (end - start)
174+ !name = Name.fromByteString fp start (end - start)
175175 in
176176 if start == offset then
177177 if Set.member name reservedWords then
@@ -179,7 +179,7 @@ foreignAlpha =
179179 else
180180 cok (Src.Var varType name) newState noError
181181 else
182− let !home = N.fromForeignPtr fp offset ((start - 1) - offset) in
182+ let !home = Name.fromByteString fp offset ((start - 1) - offset) in
183183 cok (Src.VarQual varType home name) newState noError
184184
185185