clang-pure-0.1.0.3: Pure C++ code analysis with libclang

Safe HaskellNone
LanguageHaskell2010

Language.C.Clang.Cursor

Synopsis

Documentation

data Cursor Source #

Instances

Clang Cursor Source # 

Methods

deref :: Cursor -> (Ptr (RefOf Cursor) -> IO a) -> IO a

unsafeToPtr :: Cursor -> Ptr (RefOf Cursor)

cursorChildrenF :: (Applicative f, Contravariant f) => (Cursor -> f Cursor) -> Cursor -> f Cursor Source #

Fold over the children of a cursor in the lens sense.

data CursorKind Source #

Constructors

UnexposedDecl 
StructDecl 
UnionDecl 
ClassDecl 
EnumDecl 
FieldDecl 
EnumConstantDecl 
FunctionDecl 
VarDecl 
ParmDecl 
ObjCInterfaceDecl 
ObjCCategoryDecl 
ObjCProtocolDecl 
ObjCPropertyDecl 
ObjCIvarDecl 
ObjCInstanceMethodDecl 
ObjCClassMethodDecl 
ObjCImplementationDecl 
ObjCCategoryImplDecl 
TypedefDecl 
CXXMethod 
Namespace 
LinkageSpec 
Constructor 
Destructor 
ConversionFunction 
TemplateTypeParameter 
NonTypeTemplateParameter 
TemplateTemplateParameter 
FunctionTemplate 
ClassTemplate 
ClassTemplatePartialSpecialization 
NamespaceAlias 
UsingDirective 
UsingDeclaration 
TypeAliasDecl 
ObjCSynthesizeDecl 
ObjCDynamicDecl 
CXXAccessSpecifier 
FirstDecl 
LastDecl 
FirstRef 
ObjCSuperClassRef 
ObjCProtocolRef 
ObjCClassRef 
TypeRef 
CXXBaseSpecifier 
TemplateRef 
NamespaceRef 
MemberRef 
LabelRef 
OverloadedDeclRef 
VariableRef 
LastRef 
FirstInvalid 
InvalidFile 
NoDeclFound 
NotImplemented 
InvalidCode 
LastInvalid 
FirstExpr 
UnexposedExpr 
DeclRefExpr 
MemberRefExpr 
CallExpr 
ObjCMessageExpr 
BlockExpr 
IntegerLiteral 
FloatingLiteral 
ImaginaryLiteral 
StringLiteral 
CharacterLiteral 
ParenExpr 
UnaryOperator 
ArraySubscriptExpr 
BinaryOperator 
CompoundAssignOperator 
ConditionalOperator 
CStyleCastExpr 
CompoundLiteralExpr 
InitListExpr 
AddrLabelExpr 
StmtExpr 
GenericSelectionExpr 
GNUNullExpr 
CXXStaticCastExpr 
CXXDynamicCastExpr 
CXXReinterpretCastExpr 
CXXConstCastExpr 
CXXFunctionalCastExpr 
CXXTypeidExpr 
CXXBoolLiteralExpr 
CXXNullPtrLiteralExpr 
CXXThisExpr 
CXXThrowExpr 
CXXNewExpr 
CXXDeleteExpr 
UnaryExpr 
ObjCStringLiteral 
ObjCEncodeExpr 
ObjCSelectorExpr 
ObjCProtocolExpr 
ObjCBridgedCastExpr 
PackExpansionExpr 
SizeOfPackExpr 
LambdaExpr 
ObjCBoolLiteralExpr 
ObjCSelfExpr 
LastExpr 
FirstStmt 
UnexposedStmt 
LabelStmt 
CompoundStmt 
CaseStmt 
DefaultStmt 
IfStmt 
SwitchStmt 
WhileStmt 
DoStmt 
ForStmt 
GotoStmt 
IndirectGotoStmt 
ContinueStmt 
BreakStmt 
ReturnStmt 
GCCAsmStmt 
AsmStmt 
ObjCAtTryStmt 
ObjCAtCatchStmt 
ObjCAtFinallyStmt 
ObjCAtThrowStmt 
ObjCAtSynchronizedStmt 
ObjCAutoreleasePoolStmt 
ObjCForCollectionStmt 
CXXCatchStmt 
CXXTryStmt 
CXXForRangeStmt 
SEHTryStmt 
SEHExceptStmt 
SEHFinallyStmt 
MSAsmStmt 
NullStmt 
DeclStmt 
OMPParallelDirective 
OMPSimdDirective 
OMPForDirective 
OMPSectionsDirective 
OMPSectionDirective 
OMPSingleDirective 
OMPParallelForDirective 
OMPParallelSectionsDirective 
OMPTaskDirective 
OMPMasterDirective 
OMPCriticalDirective 
OMPTaskyieldDirective 
OMPBarrierDirective 
OMPTaskwaitDirective 
OMPFlushDirective 
SEHLeaveStmt 
LastStmt 
TranslationUnit 
FirstAttr 
UnexposedAttr 
IBActionAttr 
IBOutletAttr 
IBOutletCollectionAttr 
CXXFinalAttr 
CXXOverrideAttr 
AnnotateAttr 
AsmLabelAttr 
PackedAttr 
PureAttr 
ConstAttr 
NoDuplicateAttr 
CUDAConstantAttr 
CUDADeviceAttr 
CUDAGlobalAttr 
CUDAHostAttr 
LastAttr 
PreprocessingDirective 
MacroDefinition 
MacroExpansion 
MacroInstantiation 
InclusionDirective 
FirstPreprocessing 
LastPreprocessing 
ModuleImportDecl 
FirstExtraDecl 
LastExtraDecl