diff --git a/Types.hs b/Types.hs index 302d06e..de8187f 100644 --- a/Types.hs +++ b/Types.hs @@ -296,8 +296,9 @@ makeConstant m n = A.Literal m A.Int $ A.IntLiteral m (show n) -- | Find the first Meta value in some part of the AST. findMeta :: (Data t, Typeable t) => t -> Meta -findMeta e = head $ gmapQ (mkQ emptyMeta findMeta') e +findMeta e = if null metaList then emptyMeta else head metaList where + metaList = gmapQ (mkQ emptyMeta findMeta') e findMeta' :: Meta -> Meta findMeta' m = m