haskell-src-exts-1.3.5: 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
}
srcSpanStart :: SrcSpan -> (Int, Int)
srcSpanEnd :: SrcSpan -> (Int, Int)
mkSrcSpan :: SrcLoc -> SrcLoc -> SrcSpan
mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpan
isNullSpan :: SrcSpan -> Bool
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
show/hide Instances
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
show/hide Instances
srcSpanStart :: SrcSpan -> (Int, Int)Source
Returns srcSpanStartLine and srcSpanStartColumn in a pair.
srcSpanEnd :: SrcSpan -> (Int, Int)Source
Returns srcSpanEndLine and srcSpanEndColumn in a pair.
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.
isNullSpan :: SrcSpan -> BoolSource
Test if a given span starts and ends at the same location.
data Loc a Source
An entity located in the source.
Constructors
Loc
loc :: SrcSpan
unLoc :: a
show/hide Instances
Eq a => Eq (Loc a)
Ord a => Ord (Loc a)
Show a => Show (Loc 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]
show/hide Instances
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
show/hide Instances
Produced by Haddock version 2.6.0