base-4.8.1.0: GHC/SrcLoc.hs
{-# LANGUAGE RecordWildCards #-}
module GHC.SrcLoc
( SrcLoc
, srcLocPackage
, srcLocModule
, srcLocFile
, srcLocStartLine
, srcLocStartCol
, srcLocEndLine
, srcLocEndCol
-- * Pretty printing
, showSrcLoc
) where
-- | A single location in the source code.
data SrcLoc = SrcLoc
{ srcLocPackage :: String
, srcLocModule :: String
, srcLocFile :: String
, srcLocStartLine :: Int
, srcLocStartCol :: Int
, srcLocEndLine :: Int
, srcLocEndCol :: Int
} deriving (Show, Eq)
showSrcLoc :: SrcLoc -> String
showSrcLoc SrcLoc {..}
= concat [ srcLocFile, ":"
, show srcLocStartLine, ":"
, show srcLocStartCol, " in "
, srcLocPackage, ":", srcLocModule
]