| language-c-0.3.1.1: Analysis and generation of C code | Source code | Contents | Index
Language.C.Data.Position |
Portability | ghc
Stability | experimental
Maintainer | benedikt.huber@gmail.com
Description
Source code position
Synopsis
data Position = Position String !Int !Int
initPos :: FilePath -> Position
posFile :: Position -> String
posRow :: Position -> Int
posColumn :: Position -> Int
isSourcePos :: Position -> Bool
nopos :: Position
isNoPos :: Position -> Bool
builtinPos :: Position
isBuiltinPos :: Position -> Bool
internalPos :: Position
isInternalPos :: Position -> Bool
incPos :: Position -> Int -> Position
tabPos :: Position -> Position
retPos :: Position -> Position
adjustPos :: FilePath -> Int -> Position -> Position
class Pos a where
posOf :: a -> Position
Documentation
data Position | Source
uniform representation of source file positions; the order of the arguments is important as it leads to the desired ordering of source positions
Constructors
Position String !Int !Int |
Instances
Eq Position
Data Position
Ord Position
Read Position
Show Position
Typeable Position
initPos :: FilePath -> Position | Source
initialize a Position to the start of the translation unit starting in the given file
posFile :: Position -> String | Source
get the source file of the specified position. Fails unless `isSourcePos pos`.
posRow :: Position -> Int | Source
get the line number of the specified position. Fails unless `isSourcePos pos`
posColumn :: Position -> Int | Source
get the column of the specified position. Fails unless `isSourcePos pos`
isSourcePos :: Position -> Bool | Source
returns `True` if the given position refers to an actual source file
nopos :: Position | Source
no position (for unknown position information)
isNoPos :: Position -> Bool | Source
builtinPos :: Position | Source
position attached to built-in objects
isBuiltinPos :: Position -> Bool | Source
returns `True` if the given position refers to a builtin definition
internalPos :: Position | Source
position used for internal errors
isInternalPos :: Position -> Bool | Source
returns `True` if the given position is internal
incPos :: Position -> Int -> Position | Source
advance column
tabPos :: Position -> Position | Source
advance column to next tab positions (tabs are considered to be at every 8th column)
retPos :: Position -> Position | Source
advance to next line
adjustPos :: FilePath -> Int -> Position -> Position | Source
adjust position: change file and line number, reseting column to 1. This is usually used for #LINE pragmas.
class Pos a where | Source
class of type which aggregate a source code location
Methods
posOf :: a -> Position | Source
Instances
Pos NodeInfo
Pos Ident
Pos CStrLit
Pos CConst
Pos CBuiltin
Pos CExpr
Pos CAttr
Pos CDesignator
Pos CInit
Pos CEnum
Pos CStructUnion
Pos CTypeQual
Pos CTypeSpec
Pos CStorageSpec
Pos CDeclSpec
Pos CBlockItem
Pos CAsmOperand
Pos CAsmStmt
Pos CStat
Pos CDerivedDeclr
Pos CDeclr
Pos CDecl
Pos CFunDef
Pos CExtDecl
Pos CTranslUnit
Pos CToken
Pos Attr
Pos Enumerator
Pos EnumType
Pos CompType
Pos EnumTypeRef
Pos CompTypeRef
Pos TypeDefRef
Pos TypeDef
Pos MemberDecl
Pos ParamDecl
Pos FunDef
Pos ObjDef
Pos Decl
Pos DeclEvent
Pos IdentDecl
Pos TagDef
Pos a => Pos ([] a)
Pos a => Pos (Reversed a)
Pos (Located a)
Produced by Haddock version 2.4.2