LibClang-0.1.0: Haskell bindings for libclang (a C++ parsing library)

Safe HaskellNone

Clang.FFI

Documentation

type Index = Ptr IndexObjSource

type TranslationUnit = Ptr TranslationUnitObjSource

type ClientData = ForeignPtr ClientDataObjSource

data CXString Source

Instances

type Diagnostic = ForeignPtr DiagnosticObjSource

createTranslationUnit :: Index -> String -> IO (ForeignPtr TranslationUnitObj)Source

parseTranslationUnit :: Index -> Maybe String -> [String] -> [UnsavedFile] -> Int -> IO (Maybe (ForeignPtr TranslationUnitObj))Source

data ReparseFlags Source

Constructors

Reparse_None 

Instances

data CursorKind Source

Constructors

Cursor_UnexposedDecl 
Cursor_StructDecl 
Cursor_UnionDecl 
Cursor_ClassDecl 
Cursor_EnumDecl 
Cursor_FieldDecl 
Cursor_EnumConstantDecl 
Cursor_FunctionDecl 
Cursor_VarDecl 
Cursor_ParmDecl 
Cursor_ObjCInterfaceDecl 
Cursor_ObjCCategoryDecl 
Cursor_ObjCProtocolDecl 
Cursor_ObjCPropertyDecl 
Cursor_ObjCIvarDecl 
Cursor_ObjCInstanceMethodDecl 
Cursor_ObjCClassMethodDecl 
Cursor_ObjCImplementationDecl 
Cursor_ObjCCategoryImplDecl 
Cursor_TypedefDecl 
Cursor_CXXMethod 
Cursor_Namespace 
Cursor_LinkageSpec 
Cursor_Constructor 
Cursor_Destructor 
Cursor_ConversionFunction 
Cursor_TemplateTypeParameter 
Cursor_NonTypeTemplateParameter 
Cursor_TemplateTemplateParameter 
Cursor_FunctionTemplate 
Cursor_ClassTemplate 
Cursor_ClassTemplatePartialSpecialization 
Cursor_NamespaceAlias 
Cursor_UsingDirective 
Cursor_UsingDeclaration 
Cursor_FirstDecl 
Cursor_LastDecl 
Cursor_FirstRef 
Cursor_ObjCSuperClassRef 
Cursor_ObjCProtocolRef 
Cursor_ObjCClassRef 
Cursor_TypeRef 
Cursor_CXXBaseSpecifier 
Cursor_TemplateRef 
Cursor_NamespaceRef 
Cursor_MemberRef 
Cursor_LabelRef 
Cursor_OverloadedDeclRef 
Cursor_LastRef 
Cursor_FirstInvalid 
Cursor_InvalidFile 
Cursor_NoDeclFound 
Cursor_NotImplemented 
Cursor_InvalidCode 
Cursor_LastInvalid 
Cursor_FirstExpr 
Cursor_UnexposedExpr 
Cursor_DeclRefExpr 
Cursor_MemberRefExpr 
Cursor_CallExpr 
Cursor_ObjCMessageExpr 
Cursor_BlockExpr 
Cursor_LastExpr 
Cursor_FirstStmt 
Cursor_UnexposedStmt 
Cursor_LabelStmt 
Cursor_LastStmt 
Cursor_TranslationUnit 
Cursor_FirstAttr 
Cursor_UnexposedAttr 
Cursor_IBActionAttr 
Cursor_IBOutletAttr 
Cursor_IBOutletCollectionAttr 
Cursor_LastAttr 
Cursor_PreprocessingDirective 
Cursor_MacroDefinition 
Cursor_MacroInstantiation 
Cursor_InclusionDirective 
Cursor_FirstPreprocessing 
Cursor_LastPreprocessing 

Instances

type CursorSet = ForeignPtr CursorSetObjSource

data Type Source

Instances

type ChildVisitor aSource

Arguments

 = Cursor

Current cursor

-> Cursor

Parent cursor

-> Maybe a

User data

-> IO (Maybe a, ChildVisitResult)

(user data to pass on, Visitor result code)

annotateTokens :: TranslationUnit -> TokenList -> IO CursorListSource

type CodeCompleteResults = ForeignPtr CodeCompleteResultsObjSource

wrapInclusionVisitor :: Storable a => InclusionVisitor a -> InclusionVisitorRawSource