haskell-src-exts-1.23.1: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer

Copyright | (c) Niklas Broberg 2009
License | BSD-style (see the file LICENSE.txt)
Maintainer | Niklas Broberg, d00nibro@chalmers.se
Stability | stable
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell98

Language.Haskell.Exts.SrcLoc

Description

This module defines various data types representing source location information, of varying degree of preciseness.

Synopsis

- showInt :: Int -> String
- data SrcLoc = SrcLoc {
  - srcFilename :: String
  - srcLine :: Int
  - srcColumn :: Int
  }
- noLoc :: SrcLoc
- 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
- spanSize :: SrcSpan -> (Int, Int)
- data Loc a = Loc {
  - loc :: SrcSpan
  - unLoc :: a
  }
- data SrcSpanInfo = SrcSpanInfo {
  - srcInfoSpan :: SrcSpan
  - srcInfoPoints :: [SrcSpan]
  }
- noInfoSpan :: SrcSpan -> SrcSpanInfo
- noSrcSpan :: SrcSpanInfo
- infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
- combSpanInfo :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo
- combSpanMaybe :: SrcSpanInfo -> Maybe 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

showInt :: Int -> String Source #

data SrcLoc Source #

A single position in the source.

Constructors

SrcLoc |

Fields

- srcFilename :: String
- srcLine :: Int
- srcColumn :: Int

#### Instances

Instances details

Data SrcLoc Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcLoc -> c SrcLoc Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcLoc Source #

toConstr :: SrcLoc -> Constr Source #

dataTypeOf :: SrcLoc -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcLoc) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcLoc) Source #

gmapT :: (forall b. Data b => b -> b) -> SrcLoc -> SrcLoc Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcLoc -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcLoc -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SrcLoc -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcLoc -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcLoc -> m SrcLoc Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcLoc -> m SrcLoc Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcLoc -> m SrcLoc Source #

Generic SrcLoc Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep SrcLoc |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcLoc = D1 ('MetaData "SrcLoc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcLoc" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcFilename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "srcLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

Methods

from :: SrcLoc -> Rep SrcLoc x Source #

to :: Rep SrcLoc x -> SrcLoc Source #

Show SrcLoc Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods showsPrec :: Int -> SrcLoc -> ShowS Source # show :: SrcLoc -> String Source # showList :: [SrcLoc] -> ShowS Source #
Eq SrcLoc Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods (==) :: SrcLoc -> SrcLoc -> Bool Source # (/=) :: SrcLoc -> SrcLoc -> Bool Source #
Ord SrcLoc Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods compare :: SrcLoc -> SrcLoc -> Ordering Source # (<) :: SrcLoc -> SrcLoc -> Bool Source # (<=) :: SrcLoc -> SrcLoc -> Bool Source # (>) :: SrcLoc -> SrcLoc -> Bool Source # (>=) :: SrcLoc -> SrcLoc -> Bool Source # max :: SrcLoc -> SrcLoc -> SrcLoc Source # min :: SrcLoc -> SrcLoc -> SrcLoc Source #
Pretty SrcLoc Source # |
Instance details Defined in Language.Haskell.Exts.Pretty Methods pretty :: SrcLoc -> Doc prettyPrec :: Int -> SrcLoc -> Doc
SrcInfo SrcLoc Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> SrcLoc Source # fromSrcInfo :: SrcSpanInfo -> SrcLoc Source # getPointLoc :: SrcLoc -> SrcLoc Source # fileName :: SrcLoc -> String Source # startLine :: SrcLoc -> Int Source # startColumn :: SrcLoc -> Int Source #
type Rep SrcLoc Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcLoc = D1 ('MetaData "SrcLoc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcLoc" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcFilename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: (S1 ('MetaSel ('Just "srcLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))))

noLoc :: SrcLoc Source #

data SrcSpan Source #

A portion of the source, spanning one or more lines and zero or more columns.

Constructors

SrcSpan |

Fields

- srcSpanFilename :: String
- srcSpanStartLine :: Int
- srcSpanStartColumn :: Int
- srcSpanEndLine :: Int
- srcSpanEndColumn :: Int

#### Instances

Instances details

Data SrcSpan Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcSpan -> c SrcSpan Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcSpan Source #

toConstr :: SrcSpan -> Constr Source #

dataTypeOf :: SrcSpan -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcSpan) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcSpan) Source #

gmapT :: (forall b. Data b => b -> b) -> SrcSpan -> SrcSpan Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcSpan -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcSpan -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SrcSpan -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcSpan -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcSpan -> m SrcSpan Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcSpan -> m SrcSpan Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcSpan -> m SrcSpan Source #

Generic SrcSpan Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep SrcSpan |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcSpan = D1 ('MetaData "SrcSpan" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcSpan" 'PrefixI 'True) ((S1 ('MetaSel ('Just "srcSpanFilename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "srcSpanStartLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "srcSpanStartColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "srcSpanEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcSpanEndColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

Methods

from :: SrcSpan -> Rep SrcSpan x Source #

to :: Rep SrcSpan x -> SrcSpan Source #

Show SrcSpan Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods showsPrec :: Int -> SrcSpan -> ShowS Source # show :: SrcSpan -> String Source # showList :: [SrcSpan] -> ShowS Source #
Eq SrcSpan Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods (==) :: SrcSpan -> SrcSpan -> Bool Source # (/=) :: SrcSpan -> SrcSpan -> Bool Source #
Ord SrcSpan Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods compare :: SrcSpan -> SrcSpan -> Ordering Source # (<) :: SrcSpan -> SrcSpan -> Bool Source # (<=) :: SrcSpan -> SrcSpan -> Bool Source # (>) :: SrcSpan -> SrcSpan -> Bool Source # (>=) :: SrcSpan -> SrcSpan -> Bool Source # max :: SrcSpan -> SrcSpan -> SrcSpan Source # min :: SrcSpan -> SrcSpan -> SrcSpan Source #
Pretty SrcSpan Source # |
Instance details Defined in Language.Haskell.Exts.Pretty Methods pretty :: SrcSpan -> Doc prettyPrec :: Int -> SrcSpan -> Doc
SrcInfo SrcSpan Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> SrcSpan Source # fromSrcInfo :: SrcSpanInfo -> SrcSpan Source # getPointLoc :: SrcSpan -> SrcLoc Source # fileName :: SrcSpan -> String Source # startLine :: SrcSpan -> Int Source # startColumn :: SrcSpan -> Int Source #
type Rep SrcSpan Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcSpan = D1 ('MetaData "SrcSpan" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcSpan" 'PrefixI 'True) ((S1 ('MetaSel ('Just "srcSpanFilename") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 String) :*: S1 ('MetaSel ('Just "srcSpanStartLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)) :*: (S1 ('MetaSel ('Just "srcSpanStartColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "srcSpanEndLine") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "srcSpanEndColumn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int)))))

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 -> SrcSpan Source #

Combine two locations in the source to denote a span.

mergeSrcSpan :: SrcSpan -> SrcSpan -> SrcSpan Source #

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 relate to the same source file.

isNullSpan :: SrcSpan -> Bool Source #

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

spanSize :: SrcSpan -> (Int, Int) Source #

data Loc a Source #

An entity located in the source.

Constructors

Loc |

Fields

- loc :: SrcSpan
- unLoc :: a

#### Instances

Instances details

Generic (Loc a) Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep (Loc a) |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep (Loc a) = D1 ('MetaData "Loc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) (S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SrcSpan) :*: S1 ('MetaSel ('Just "unLoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

Methods

from :: Loc a -> Rep (Loc a) x Source #

to :: Rep (Loc a) x -> Loc a Source #

Show a => Show (Loc a) Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods showsPrec :: Int -> Loc a -> ShowS Source # show :: Loc a -> String Source # showList :: [Loc a] -> ShowS Source #
Eq a => Eq (Loc a) Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods (==) :: Loc a -> Loc a -> Bool Source # (/=) :: Loc a -> Loc a -> Bool Source #
Ord a => Ord (Loc a) Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods compare :: Loc a -> Loc a -> Ordering Source # (<) :: Loc a -> Loc a -> Bool Source # (<=) :: Loc a -> Loc a -> Bool Source # (>) :: Loc a -> Loc a -> Bool Source # (>=) :: Loc a -> Loc a -> Bool Source # max :: Loc a -> Loc a -> Loc a Source # min :: Loc a -> Loc a -> Loc a Source #
type Rep (Loc a) Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep (Loc a) = D1 ('MetaData "Loc" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "Loc" 'PrefixI 'True) (S1 ('MetaSel ('Just "loc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SrcSpan) :*: S1 ('MetaSel ('Just "unLoc") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data SrcSpanInfo Source #

A portion of the source, extended with information on the position of entities within the span.

Constructors

SrcSpanInfo |

Fields

- srcInfoSpan :: SrcSpan
- srcInfoPoints :: [SrcSpan]

#### Instances

Instances details

Data SrcSpanInfo Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SrcSpanInfo -> c SrcSpanInfo Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SrcSpanInfo Source #

toConstr :: SrcSpanInfo -> Constr Source #

dataTypeOf :: SrcSpanInfo -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SrcSpanInfo) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SrcSpanInfo) Source #

gmapT :: (forall b. Data b => b -> b) -> SrcSpanInfo -> SrcSpanInfo Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SrcSpanInfo -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SrcSpanInfo -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SrcSpanInfo -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SrcSpanInfo -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SrcSpanInfo -> m SrcSpanInfo Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcSpanInfo -> m SrcSpanInfo Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SrcSpanInfo -> m SrcSpanInfo Source #

Generic SrcSpanInfo Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Associated Types

type Rep SrcSpanInfo |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcSpanInfo = D1 ('MetaData "SrcSpanInfo" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcSpanInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcInfoSpan") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SrcSpan) :*: S1 ('MetaSel ('Just "srcInfoPoints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SrcSpan])))

Methods

from :: SrcSpanInfo -> Rep SrcSpanInfo x Source #

to :: Rep SrcSpanInfo x -> SrcSpanInfo Source #

Show SrcSpanInfo Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods showsPrec :: Int -> SrcSpanInfo -> ShowS Source # show :: SrcSpanInfo -> String Source # showList :: [SrcSpanInfo] -> ShowS Source #
Eq SrcSpanInfo Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods (==) :: SrcSpanInfo -> SrcSpanInfo -> Bool Source # (/=) :: SrcSpanInfo -> SrcSpanInfo -> Bool Source #
Ord SrcSpanInfo Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

Methods

compare :: SrcSpanInfo -> SrcSpanInfo -> Ordering Source #

(<) :: SrcSpanInfo -> SrcSpanInfo -> Bool Source #

(<=) :: SrcSpanInfo -> SrcSpanInfo -> Bool Source #

(>) :: SrcSpanInfo -> SrcSpanInfo -> Bool Source #

(>=) :: SrcSpanInfo -> SrcSpanInfo -> Bool Source #

max :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo Source #

min :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo Source #

SrcInfo SrcSpanInfo Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> SrcSpanInfo Source # fromSrcInfo :: SrcSpanInfo -> SrcSpanInfo Source # getPointLoc :: SrcSpanInfo -> SrcLoc Source # fileName :: SrcSpanInfo -> String Source # startLine :: SrcSpanInfo -> Int Source # startColumn :: SrcSpanInfo -> Int Source #
Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) Source # |

Instance details

Defined in Language.Haskell.Exts.Parser

Methods

parse :: String -> ParseResult (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) Source #

parseWithMode :: ParseMode -> String -> ParseResult (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) Source #

parseWithComments :: ParseMode -> String -> ParseResult (NonGreedy (ListOf (ModulePragma SrcSpanInfo)), [Comment]) Source #

parser :: Maybe [Fixity] -> P (NonGreedy (ListOf (ModulePragma SrcSpanInfo)))

Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) Source # |

Instance details

Defined in Language.Haskell.Exts.Parser

Methods

parse :: String -> ParseResult (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) Source #

parseWithMode :: ParseMode -> String -> ParseResult (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) Source #

parseWithComments :: ParseMode -> String -> ParseResult (NonGreedy (ModuleHeadAndImports SrcSpanInfo), [Comment]) Source #

parser :: Maybe [Fixity] -> P (NonGreedy (ModuleHeadAndImports SrcSpanInfo))

Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) Source # |

Instance details

Defined in Language.Haskell.Exts.Parser

Methods

parse :: String -> ParseResult (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) Source #

parseWithMode :: ParseMode -> String -> ParseResult (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) Source #

parseWithComments :: ParseMode -> String -> ParseResult (NonGreedy (PragmasAndModuleHead SrcSpanInfo), [Comment]) Source #

parser :: Maybe [Fixity] -> P (NonGreedy (PragmasAndModuleHead SrcSpanInfo))

Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) Source # |

Instance details

Defined in Language.Haskell.Exts.Parser

Methods

parse :: String -> ParseResult (NonGreedy (PragmasAndModuleName SrcSpanInfo)) Source #

parseWithMode :: ParseMode -> String -> ParseResult (NonGreedy (PragmasAndModuleName SrcSpanInfo)) Source #

parseWithComments :: ParseMode -> String -> ParseResult (NonGreedy (PragmasAndModuleName SrcSpanInfo), [Comment]) Source #

parser :: Maybe [Fixity] -> P (NonGreedy (PragmasAndModuleName SrcSpanInfo))

Parseable (Decl SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (Decl SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (Decl SrcSpanInfo)
Parseable (Exp SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (Exp SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (Exp SrcSpanInfo)
Parseable (ImportDecl SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (ImportDecl SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (ImportDecl SrcSpanInfo)
Parseable (Module SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (Module SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (Module SrcSpanInfo)
Parseable (Pat SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (Pat SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (Pat SrcSpanInfo)
Parseable (Stmt SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (Stmt SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (Stmt SrcSpanInfo)
Parseable (Type SrcSpanInfo) Source # |
Instance details Defined in Language.Haskell.Exts.Parser Methods parse :: String -> ParseResult (Type SrcSpanInfo) Source # parseWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo) Source # parseWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment]) Source # parser :: Maybe [Fixity] -> P (Type SrcSpanInfo)
type Rep SrcSpanInfo Source # |

Instance details

Defined in Language.Haskell.Exts.SrcLoc

type Rep SrcSpanInfo = D1 ('MetaData "SrcSpanInfo" "Language.Haskell.Exts.SrcLoc" "haskell-src-exts-1.23.1-3xHB6MViBk95bvXB6vMLW9" 'False) (C1 ('MetaCons "SrcSpanInfo" 'PrefixI 'True) (S1 ('MetaSel ('Just "srcInfoSpan") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SrcSpan) :*: S1 ('MetaSel ('Just "srcInfoPoints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [SrcSpan])))

noInfoSpan :: SrcSpan -> SrcSpanInfo Source #

Generate a `SrcSpanInfo` with no positional information for entities.

noSrcSpan :: SrcSpanInfo Source #

A bogus `SrcSpanInfo`, the location is `noLoc`. `noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)`

infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo Source #

Generate a `SrcSpanInfo` with the supplied positional information for entities.

combSpanInfo :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo Source #

Combine two `SrcSpanInfo`s into one that spans the combined source area of the two arguments, leaving positional information blank.

combSpanMaybe :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo Source #

Like `(<+?>)`, but it also concatenates the `srcInfoPoints`.

(<++>) :: SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo infixl 5 Source #

Short name for `combSpanInfo`

(<+?>) :: SrcSpanInfo -> Maybe SrcSpanInfo -> SrcSpanInfo infixl 4 Source #

Optionally combine the first argument with the second, or return it unchanged if the second argument is `Nothing`.

(<?+>) :: Maybe SrcSpanInfo -> SrcSpanInfo -> SrcSpanInfo infixl 4 Source #

Optionally combine the second argument with the first, or return it unchanged if the first argument is `Nothing`.

(<**) :: SrcSpanInfo -> [SrcSpan] -> SrcSpanInfo infixl 4 Source #

Add more positional information for entities of a span.

(<^^>) :: SrcSpan -> SrcSpan -> SrcSpanInfo infixl 6 Source #

Merge two `SrcSpan`s and lift them to a `SrcInfoSpan` with no positional information for entities.

class SrcInfo si where Source #

A class to work over all kinds of source location information.

Minimal complete definition

toSrcInfo, fromSrcInfo, fileName, startLine, startColumn

Methods

toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> si Source #

fromSrcInfo :: SrcSpanInfo -> si Source #

getPointLoc :: si -> SrcLoc Source #

fileName :: si -> String Source #

startLine :: si -> Int Source #

startColumn :: si -> Int Source #

#### Instances

Instances details

SrcInfo SrcLoc Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> SrcLoc Source # fromSrcInfo :: SrcSpanInfo -> SrcLoc Source # getPointLoc :: SrcLoc -> SrcLoc Source # fileName :: SrcLoc -> String Source # startLine :: SrcLoc -> Int Source # startColumn :: SrcLoc -> Int Source #
SrcInfo SrcSpan Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> SrcSpan Source # fromSrcInfo :: SrcSpanInfo -> SrcSpan Source # getPointLoc :: SrcSpan -> SrcLoc Source # fileName :: SrcSpan -> String Source # startLine :: SrcSpan -> Int Source # startColumn :: SrcSpan -> Int Source #
SrcInfo SrcSpanInfo Source # |
Instance details Defined in Language.Haskell.Exts.SrcLoc Methods toSrcInfo :: SrcLoc -> [SrcSpan] -> SrcLoc -> SrcSpanInfo Source # fromSrcInfo :: SrcSpanInfo -> SrcSpanInfo Source # getPointLoc :: SrcSpanInfo -> SrcLoc Source # fileName :: SrcSpanInfo -> String Source # startLine :: SrcSpanInfo -> Int Source # startColumn :: SrcSpanInfo -> Int Source #