| Copyright | (c) [1995..1999] Manuel M. T. Chakravarty (c) 2008 Benedikt Huber (stripped radically) |
|---|---|
| License | BSD-style |
| Maintainer | benedikt.huber@gmail.com |
| Stability | experimental |
| Portability | ghc |
| Safe Haskell | None |
| Language | Haskell2010 |
Language.C.Data.Node
Description
source position and unqiue name
Synopsis
- data NodeInfo
- undefNode :: NodeInfo
- isUndefNode :: NodeInfo -> Bool
- mkNodeInfoOnlyPos :: Position -> NodeInfo
- mkNodeInfoPosLen :: Position -> PosLength -> NodeInfo
- mkNodeInfo :: Position -> Name -> NodeInfo
- mkNodeInfo' :: Position -> PosLength -> Name -> NodeInfo
- internalNode :: NodeInfo
- class CNode a where
- fileOfNode :: CNode a => a -> Maybe FilePath
- posOfNode :: NodeInfo -> Position
- nameOfNode :: NodeInfo -> Maybe Name
- getLastTokenPos :: NodeInfo -> PosLength
- lengthOfNode :: NodeInfo -> Maybe Int
- eqByName :: CNode a => a -> a -> Bool
Documentation
Parsed entity attribute
Instances
| Eq NodeInfo # | |
| Data NodeInfo # | |
Defined in Language.C.Data.Node Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NodeInfo -> c NodeInfo gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NodeInfo toConstr :: NodeInfo -> Constr dataTypeOf :: NodeInfo -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NodeInfo) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NodeInfo) gmapT :: (forall b. Data b => b -> b) -> NodeInfo -> NodeInfo gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NodeInfo -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NodeInfo -> r gmapQ :: (forall d. Data d => d -> u) -> NodeInfo -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> NodeInfo -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> NodeInfo -> m NodeInfo gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NodeInfo -> m NodeInfo gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NodeInfo -> m NodeInfo | |
| Ord NodeInfo # | |
Defined in Language.C.Data.Node | |
| Show NodeInfo # | |
| Generic NodeInfo # | |
| NFData NodeInfo # | |
Defined in Language.C.Data.Node | |
| Pos NodeInfo # | |
Defined in Language.C.Data.Node | |
| CNode NodeInfo # | |
Defined in Language.C.Data.Node | |
| Pretty CStrLit # | |
Defined in Language.C.Pretty | |
| Pretty CConst # | |
Defined in Language.C.Pretty | |
| Pretty CBuiltin # | |
Defined in Language.C.Pretty | |
| Pretty CExpr # | |
Defined in Language.C.Pretty | |
| Pretty CAttr # | |
Defined in Language.C.Pretty | |
| Pretty CDesignator # | |
Defined in Language.C.Pretty | |
| Pretty CInit # | |
Defined in Language.C.Pretty | |
| Pretty CEnum # | |
Defined in Language.C.Pretty | |
| Pretty CStructUnion # | |
Defined in Language.C.Pretty | |
| Pretty CAlignSpec # | |
Defined in Language.C.Pretty | |
| Pretty CFunSpec # | |
Defined in Language.C.Pretty | |
| Pretty CTypeQual # | |
Defined in Language.C.Pretty | |
| Pretty CTypeSpec # | |
Defined in Language.C.Pretty | |
| Pretty CStorageSpec # | |
Defined in Language.C.Pretty | |
| Pretty CDeclSpec # | |
Defined in Language.C.Pretty | |
| Pretty CBlockItem # | |
Defined in Language.C.Pretty | |
| Pretty CAsmOperand # | |
Defined in Language.C.Pretty | |
| Pretty CAsmStmt # | |
Defined in Language.C.Pretty | |
| Pretty CStat # | |
Defined in Language.C.Pretty | |
| Pretty CArrSize # | |
Defined in Language.C.Pretty | |
| Pretty CDeclr # | |
Defined in Language.C.Pretty | |
| Pretty CDecl # | |
Defined in Language.C.Pretty | |
| Pretty CFunDef # | |
Defined in Language.C.Pretty | |
| Pretty CExtDecl # | |
Defined in Language.C.Pretty | |
| Pretty CTranslUnit # | |
Defined in Language.C.Pretty | |
| type Rep NodeInfo # | |
Defined in Language.C.Data.Node type Rep NodeInfo = D1 ('MetaData "NodeInfo" "Language.C.Data.Node" "language-c-0.9.0.2-4CbLxKbAbslBxunZQZgpqo" 'False) (C1 ('MetaCons "OnlyPos" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 PosLength)) :+: C1 ('MetaCons "NodeInfo" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Position) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 PosLength) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name)))) | |
isUndefNode :: NodeInfo -> Bool #
return True if the node carries neither name nor positional information
mkNodeInfoOnlyPos :: Position -> NodeInfo #
| Given only a source position, create a new node attribute
mkNodeInfoPosLen :: Position -> PosLength -> NodeInfo #
Given a source position and the position and length of the last token, create a new node attribute
mkNodeInfo :: Position -> Name -> NodeInfo #
Given a source position and a unique name, create a new attribute identifier
mkNodeInfo' :: Position -> PosLength -> Name -> NodeInfo #
Given a source position, the position and length of the last token and a unique name, create a new attribute identifier. Strict in
Deprecated: use undefNode instead
a class for convenient access to the attributes of an attributed object
Instances
fileOfNode :: CNode a => a -> Maybe FilePath #
nameOfNode :: NodeInfo -> Maybe Name #
getLastTokenPos :: NodeInfo -> PosLength #
get the position and length of the last token
lengthOfNode :: NodeInfo -> Maybe Int #
get the number of characters an AST node spans