Do not print every list as []
authorJoachim Breitner <mail@joachim-breitner.de>
Thu, 20 Dec 2012 10:22:05 +0000 (10:22 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Thu, 20 Dec 2012 10:22:05 +0000 (10:22 +0000)
src/GHC/HeapView.hs

index 7b03017..53b9475 100644 (file)
@@ -712,7 +712,13 @@ isHeapTreeList tree = do
         return $ (:) h t'
 
 isHeapTreeString :: HeapTree -> Maybe String
-isHeapTreeString = mapM (isChar <=< heapTreeClosure) <=< isHeapTreeList
+isHeapTreeString t = do
+    list <- isHeapTreeList t
+    -- We do not want to print empty lists as "" as we do not know that they
+    -- are really strings.
+    if (null list)
+        then Nothing
+        else mapM (isChar <=< heapTreeClosure) list
 
 -- | For heap graphs, i.e. data structures that also represent sharing and
 -- cyclic structures, these are the entries. If the referenced value is