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
isUndefNode :: NodeInfo -> Bool Source #
return True if the node carries neither name nor positional information
mkNodeInfoOnlyPos :: Position -> NodeInfo Source #
| Given only a source position, create a new node attribute
mkNodeInfoPosLen :: Position -> PosLength -> NodeInfo Source #
Given a source position and the position and length of the last token, create a new node attribute
mkNodeInfo :: Position -> Name -> NodeInfo Source #
Given a source position and a unique name, create a new attribute identifier
mkNodeInfo' :: Position -> PosLength -> Name -> NodeInfo Source #
Given a source position, the position and length of the last token and a unique name, create a new attribute identifier. Strict in
internalNode :: NodeInfo Source #
Deprecated: use undefNode instead
a class for convenient access to the attributes of an attributed object
Instances
CNode TagFwdDecl Source # | |
Defined in Language.C.Analysis.DefTable Methods nodeInfo :: TagFwdDecl -> NodeInfo Source # | |
CNode Attr Source # | |
CNode CompType Source # | |
CNode CompTypeRef Source # | |
Defined in Language.C.Analysis.SemRep Methods nodeInfo :: CompTypeRef -> NodeInfo Source # | |
CNode Decl Source # | |
CNode DeclEvent Source # | |
CNode EnumType Source # | |
CNode EnumTypeRef Source # | |
Defined in Language.C.Analysis.SemRep Methods nodeInfo :: EnumTypeRef -> NodeInfo Source # | |
CNode Enumerator Source # | |
Defined in Language.C.Analysis.SemRep Methods nodeInfo :: Enumerator -> NodeInfo Source # | |
CNode FunDef Source # | |
CNode IdentDecl Source # | |
CNode MemberDecl Source # | |
Defined in Language.C.Analysis.SemRep Methods nodeInfo :: MemberDecl -> NodeInfo Source # | |
CNode ObjDef Source # | |
CNode ParamDecl Source # | |
CNode TagDef Source # | |
CNode TypeDef Source # | |
CNode TypeDefRef Source # | |
Defined in Language.C.Analysis.SemRep Methods nodeInfo :: TypeDefRef -> NodeInfo Source # | |
CNode Ident Source # | |
CNode NodeInfo Source # | |
CNode t1 => CNode (CAlignmentSpecifier t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CAlignmentSpecifier t1 -> NodeInfo Source # | |
CNode t1 => CNode (CAssemblyOperand t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CAssemblyOperand t1 -> NodeInfo Source # | |
CNode t1 => CNode (CAssemblyStatement t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CAssemblyStatement t1 -> NodeInfo Source # | |
CNode t1 => CNode (CAttribute t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CAttribute t1 -> NodeInfo Source # | |
CNode t1 => CNode (CBuiltinThing t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CBuiltinThing t1 -> NodeInfo Source # | |
CNode t1 => CNode (CCompoundBlockItem t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CCompoundBlockItem t1 -> NodeInfo Source # | |
CNode t1 => CNode (CConstant t1) Source # | |
CNode t1 => CNode (CDeclaration t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CDeclaration t1 -> NodeInfo Source # | |
CNode t1 => CNode (CDeclarationSpecifier t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CDeclarationSpecifier t1 -> NodeInfo Source # | |
CNode t1 => CNode (CDeclarator t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CDeclarator t1 -> NodeInfo Source # | |
CNode t1 => CNode (CDerivedDeclarator t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CDerivedDeclarator t1 -> NodeInfo Source # | |
CNode t1 => CNode (CEnumeration t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CEnumeration t1 -> NodeInfo Source # | |
CNode t1 => CNode (CExpression t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CExpression t1 -> NodeInfo Source # | |
CNode t1 => CNode (CExternalDeclaration t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CExternalDeclaration t1 -> NodeInfo Source # | |
CNode t1 => CNode (CFunctionDef t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CFunctionDef t1 -> NodeInfo Source # | |
CNode t1 => CNode (CFunctionSpecifier t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CFunctionSpecifier t1 -> NodeInfo Source # | |
CNode t1 => CNode (CInitializer t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CInitializer t1 -> NodeInfo Source # | |
CNode t1 => CNode (CPartDesignator t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CPartDesignator t1 -> NodeInfo Source # | |
CNode t1 => CNode (CStatement t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CStatement t1 -> NodeInfo Source # | |
CNode t1 => CNode (CStorageSpecifier t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CStorageSpecifier t1 -> NodeInfo Source # | |
CNode t1 => CNode (CStringLiteral t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CStringLiteral t1 -> NodeInfo Source # | |
CNode t1 => CNode (CStructureUnion t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CStructureUnion t1 -> NodeInfo Source # | |
CNode t1 => CNode (CTranslationUnit t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CTranslationUnit t1 -> NodeInfo Source # | |
CNode t1 => CNode (CTypeQualifier t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CTypeQualifier t1 -> NodeInfo Source # | |
CNode t1 => CNode (CTypeSpecifier t1) Source # | |
Defined in Language.C.Syntax.AST Methods nodeInfo :: CTypeSpecifier t1 -> NodeInfo Source # | |
(CNode a, CNode b) => CNode (Either a b) Source # | |
getLastTokenPos :: NodeInfo -> PosLength Source #
get the position and length of the last token