packages feed

clang-pure 0.2.0.3 → 0.2.0.4

raw patch · 3 files changed

+18/−2 lines, 3 files

Files

clang-pure.cabal view
@@ -1,5 +1,5 @@ name:                  clang-pure-version:               0.2.0.3+version:               0.2.0.4 synopsis:              Pure C++ code analysis with libclang description:   Pure C++ code analysis with libclang.@@ -13,7 +13,7 @@ copyright:             Copyright 2014 Google Inc. All Rights Reserved. category:              Language build-type:            Custom-cabal-version:         >=1.24+cabal-version:         1.24 extra-source-files:    cbits/clang-pure-utils.h  custom-setup
src/Language/C/Clang/Internal/FFI.hsc view
@@ -493,6 +493,21 @@     then return Nothing     else (Just . Type) <$> newLeaf (parent t) (\_ -> return ( etp, free etp )) +typePointeeType :: Type -> Maybe Type+typePointeeType t = uderef t $ \tp -> do+  etp <- [C.block| CXType* {+    CXType type = clang_getPointeeType(*$(CXType *tp));++    if (type.kind == CXType_Invalid) {+      return NULL;+    }++    return ALLOC(type);+    } |]+  if etp == nullPtr+    then return Nothing+    else (Just . Type) <$> newLeaf (parent t) (\_ -> return ( etp, free etp ))+ typeKind :: Type -> TypeKind typeKind t = uderef t $ fmap parseTypeKind . #peek CXType, kind 
src/Language/C/Clang/Type.hs view
@@ -19,6 +19,7 @@   , typeArraySize   , typeCanonicalType   , typeElementType+  , typePointeeType   , typeSizeOf   , typeSpelling   , typeKind