on master help sign in
use Row/Col type aliases when parsing kernel code
44e4e50Evan Czaplicki
compiler/src/Elm/Kernel.hs+3−3
@@ -15,7 +15,7 @@ import qualified Data.ByteString.Internal as B
15import qualified Data.List as List
15import qualified Data.List as List
16import qualified Data.Map as Map
16import qualified Data.Map as Map
17import qualified Data.Name as Name
17import qualified Data.Name as Name
18−import Data.Word (Word8, Word16)
18+import Data.Word (Word8)
19import Foreign.Ptr (Ptr, plusPtr, minusPtr)
19import Foreign.Ptr (Ptr, plusPtr, minusPtr)
20import Foreign.ForeignPtr (ForeignPtr)
20import Foreign.ForeignPtr (ForeignPtr)
21import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
21import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
@@ -128,7 +128,7 @@ parseChunks vtable enums fields =
128 cerr row col toError
128 cerr row col toError
129
129
130
130
131−chompChunks :: VarTable -> Enums -> Fields -> ForeignPtr Word8 -> Ptr Word8 -> Ptr Word8 -> Word16 -> Word16 -> Ptr Word8 -> [Chunk] -> (# [Chunk], Ptr Word8, Word16, Word16 #)
131+chompChunks :: VarTable -> Enums -> Fields -> ForeignPtr Word8 -> Ptr Word8 -> Ptr Word8 -> Row -> Col -> Ptr Word8 -> [Chunk] -> (# [Chunk], Ptr Word8, Row, Col #)
132chompChunks vs es fs src pos end row col lastPos revChunks =
132chompChunks vs es fs src pos end row col lastPos revChunks =
133 if pos >= end then
133 if pos >= end then
134 let !js = toByteString src lastPos end in
134 let !js = toByteString src lastPos end in
@@ -168,7 +168,7 @@ toByteString src pos end =
168
168
169
169
170-- relies on external checks in chompChunks
170-- relies on external checks in chompChunks
171−chompTag :: VarTable -> Enums -> Fields -> ForeignPtr Word8 -> Ptr Word8 -> Ptr Word8 -> Word16 -> Word16 -> [Chunk] -> (# [Chunk], Ptr Word8, Word16, Word16 #)
171+chompTag :: VarTable -> Enums -> Fields -> ForeignPtr Word8 -> Ptr Word8 -> Ptr Word8 -> Row -> Col -> [Chunk] -> (# [Chunk], Ptr Word8, Row, Col #)
172chompTag vs es fs src pos end row col revChunks =
172chompTag vs es fs src pos end row col revChunks =
173 let
173 let
174 (# newPos, newCol #) = Var.chompInnerChars pos end col
174 (# newPos, newCol #) = Var.chompInnerChars pos end col