haskell-src-exts-1.3.0: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printerSource codeContentsIndex
Language.Haskell.Exts.SrcLoc
Portabilityportable
Stabilitystable
MaintainerNiklas Broberg, d00nibro@chalmers.se
Description
This module defines various data types representing source location information, of varying degree of preciseness.
Synopsis
data SrcLoc = SrcLoc {
srcFilename :: String
srcLine :: Int
srcColumn :: Int
}
data SrcSpan = SrcSpan {
srcSpanFilename :: String
srcSpanStartLine :: Int
srcSpanStartColumn :: Int
srcSpanEndLine :: Int
srcSpanEndColumn :: Int
}
mkSrcSpan :: SrcLoc -> SrcLoc -> SrcSpan
mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpan
data Loc a = Loc {
loc :: SrcSpan
unLoc :: a
}
data SrcSpanInfo = SrcSpanInfo {
srcInfoSpan :: SrcSpan
srcInfoPoints :: [SrcSpan]
}
noInfoSpan :: SrcSpan -> SrcSpanInfo
infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
combSpanInfo :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo
(<++>) :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo
(<+?>) :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo
(<?+>) :: Maybe SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo
(<**) :: SrcSpanInfo -> [SrcSpan] -> SrcSpanInfo
(<^^>) :: SrcSpan -> SrcSpan -> SrcSpanInfo
class SrcInfo si where
toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> si
fromSrcInfo :: SrcSpanInfo -> si
getPointLoc :: si -> SrcLoc
fileName :: si -> String
startLine :: si -> Int
startColumn :: si -> Int
Documentation
data SrcLoc Source
A single position in the source.
Constructors
SrcLoc
srcFilename :: String
srcLine :: Int
srcColumn :: Int
data SrcSpan Source
A portion of the source, spanning one or more lines and zero or more columns.
Constructors
SrcSpan
srcSpanFilename :: String
srcSpanStartLine :: Int
srcSpanStartColumn :: Int
srcSpanEndLine :: Int
srcSpanEndColumn :: Int
mkSrcSpan :: SrcLoc -> SrcLoc -> SrcSpanSource
Combine two locations in the source to denote a span.
mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpanSource
Merge two source spans into a single span from the start of the first to the end of the second. Assumes that the two spans are given in the order they appear in the source.
data Loc a Source

Test if a given span starts and ends at the same location.

An entity located in the source.

Constructors
Loc
loc :: SrcSpan
unLoc :: a
data SrcSpanInfo Source
A portion of the source, extended with information on the position of entities within the span.
Constructors
SrcSpanInfo
srcInfoSpan :: SrcSpan
srcInfoPoints :: [SrcSpan]
noInfoSpan :: SrcSpan -> SrcSpanInfoSource
infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfoSource
combSpanInfo :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfoSource
(<++>) :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfoSource
(<+?>) :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfoSource
(<?+>) :: Maybe SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfoSource
(<**) :: SrcSpanInfo -> [SrcSpan] -> SrcSpanInfoSource
(<^^>) :: SrcSpan -> SrcSpan -> SrcSpanInfoSource
class SrcInfo si whereSource
Methods
toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> siSource
fromSrcInfo :: SrcSpanInfo -> siSource
getPointLoc :: si -> SrcLocSource
fileName :: si -> StringSource
startLine :: si -> IntSource
startColumn :: si -> IntSource
Produced by Haddock version 2.6.0