sourcemap-0.1.0.0: src/SourceMap/Types.hs
{-# OPTIONS -Wall #-}
-- | Types for the source maps.
module SourceMap.Types where
import Data.Int
import Data.Monoid
import Data.Function
-- | The source mapping.
data SourceMapping = SourceMapping
{ smFile :: FilePath
, smSourceRoot :: Maybe FilePath
, smMappings :: [Mapping]
} deriving Show
-- | A mapping.
data Mapping = Mapping
{ mapGenerated :: Pos
, mapOriginal :: Maybe Pos
, mapSourceFile :: Maybe FilePath
, mapName :: Maybe String
} deriving Show
-- | A source position.
data Pos = Pos
{ posLine :: Int32
, posColumn :: Int32
} deriving (Eq,Show)
instance Ord Pos where
compare a b = on compare posLine a b <> on compare posColumn a b