language-objc-0.4.2.8: Analysis and generation of Objective C code

Portabilityghc
Stabilityexperimental
Maintainerjwlato@gmail.com
Safe HaskellNone

Language.ObjC.Data.Node

Description

source position and unqiue name

Synopsis

Documentation

undefNode :: NodeInfoSource

create a node with neither name nor positional information

isUndefNode :: NodeInfo -> BoolSource

return True if the node carries neither name nor positional information

mkNodeInfoOnlyPos :: Position -> NodeInfoSource

| Given only a source position, create a new node attribute

mkNodeInfoPosLen :: Position -> (Position, Int) -> NodeInfoSource

Given a source position and the position and length of the last token, create a new node attribute

mkNodeInfo :: Position -> Name -> NodeInfoSource

Given a source position and a unique name, create a new attribute identifier

mkNodeInfo' :: Position -> (Position, Int) -> Name -> NodeInfoSource

Given a source position, the position and length of the last token and a unique name, create a new attribute identifier. Strict in

internalNode :: NodeInfoSource

Deprecated: use undefNode instead

class CNode a whereSource

a class for convenient access to the attributes of an attributed object

Methods

nodeInfo :: a -> NodeInfoSource

Instances

CNode NodeInfo 
CNode Ident 
CNode Attr 
CNode Enumerator 
CNode EnumType 
CNode CompType 
CNode EnumTypeRef 
CNode CompTypeRef 
CNode TypeDefRef 
CNode TypeDef 
CNode MemberDecl 
CNode ParamDecl 
CNode FunDef 
CNode ObjDef 
CNode Decl 
CNode DeclEvent 
CNode IdentDecl 
CNode TagDef 
CNode TagFwdDecl 
CNode t1 => CNode (CStringLiteral t1) 
CNode t1 => CNode (CConstant t1) 
CNode t1 => CNode (ObjCConstant t1) 
CNode t1 => CNode (CBuiltinThing t1) 
CNode t1 => CNode (ObjCKeywordArg t1) 
CNode t1 => CNode (ObjCMessageSelector t1) 
CNode t1 => CNode (ObjCMessageExpression t1) 
CNode t1 => CNode (ObjCSelector t1) 
CNode t1 => CNode (ObjCSelectorKeyName t1) 
CNode t1 => CNode (ObjCSelectorName t1) 
CNode t1 => CNode (CExpression t1) 
CNode t1 => CNode (CAttribute t1) 
CNode t1 => CNode (CPartDesignator t1) 
CNode t1 => CNode (CInitializer t1) 
CNode t1 => CNode (CEnumeration t1) 
CNode t1 => CNode (CStructureUnion t1) 
CNode t1 => CNode (ObjCProtoQualifier t1) 
CNode t1 => CNode (CTypeQualifier t1) 
CNode t1 => CNode (CTypeSpecifier t1) 
CNode t1 => CNode (CStorageSpecifier t1) 
CNode t1 => CNode (CDeclarationSpecifier t1) 
CNode t1 => CNode (CCompoundBlockItem t1) 
CNode t1 => CNode (CAssemblyOperand t1) 
CNode t1 => CNode (CAssemblyStatement t1) 
CNode t1 => CNode (CStatement t1) 
CNode t1 => CNode (CDerivedDeclarator t1) 
CNode t1 => CNode (CDeclarator t1) 
CNode t1 => CNode (CDeclaration t1) 
CNode t1 => CNode (ObjCPropertyModifier t1) 
CNode t1 => CNode (ObjCPropertyDeclaration t1) 
CNode t1 => CNode (ObjCKeywordDeclarator t1) 
CNode t1 => CNode (ObjCMethodSelector t1) 
CNode t1 => CNode (ObjCMethodDefinition t1) 
CNode t1 => CNode (ObjCMethodDeclaration t1) 
CNode t1 => CNode (ObjCImplementationDefinition t1) 
CNode t1 => CNode (ObjCInterfaceDeclaration t1) 
CNode t1 => CNode (ObjCVisibilitySpec t1) 
CNode t1 => CNode (ObjCInstanceVariableBlock t1) 
CNode t1 => CNode (ObjCProtocolName t1) 
CNode t1 => CNode (ObjCClassName t1) 
CNode t1 => CNode (ObjCClassDeclarator t1) 
CNode t1 => CNode (ObjCImplementation t1) 
CNode t1 => CNode (ObjCInterface t1) 
CNode t1 => CNode (ObjCProtocolDeclBlock t1) 
CNode t1 => CNode (ObjCProtocolDec t1) 
CNode t1 => CNode (ObjCClassListDef t1) 
CNode t1 => CNode (ObjCCategoryImplementation t1) 
CNode t1 => CNode (ObjCCategoryDec t1) 
CNode t1 => CNode (CFunctionDef t1) 
CNode t1 => CNode (CExternalDeclaration t1) 
CNode t1 => CNode (CTranslationUnit t1) 
(CNode a, CNode b) => CNode (Either a b) 

getLastTokenPos :: NodeInfo -> PosLengthSource

get the position and length of the last token

lengthOfNode :: NodeInfo -> Maybe IntSource

get the number of characters an AST node spans

eqByName :: CNode a => a -> a -> BoolSource

equality by name