packages feed

LibClang-0.1.0: test/Test_ChildVisitor.hs

import System(getArgs)
import Control.Applicative((<$>))
import Clang.TranslationUnit(withCreateIndex, withParse, TranslationUnitFlags(..), getCursor)
import Clang.Traversal(ChildVisitor, visitChildren, ChildVisitResult(..))
import qualified Clang.Type as Type
import qualified Clang.Cursor as Cursor
import Clang.Alloc.Storable

visitor :: ChildVisitor Int
visitor c p d = do
  putStrLn $ "Type:" ++ show (Type.getTypeKindSpelling . Type.getKind . Cursor.getType $ c)
  return (d, ChildVisit_Continue)

test tu = visitChildren (getCursor tu) visitor Nothing

main = do
  (arg:args) <- getArgs
  withCreateIndex False False $ \index -> 
      withParse index (Just arg) args [] [TranslationUnit_None] test (error "No TXUnit!")