checkpoint
[sbp.git] / src / SBP.hs
index 510a2d4..2fec793 100644 (file)
@@ -58,8 +58,8 @@ module SBP
     ((do class_JHaskellHelper
          class_JTree
          head <- getHead_JTree t ()
     ((do class_JHaskellHelper
          class_JTree
          head <- getHead_JTree t ()
-         strx <- toString_JObject ((castTLRef head) :: Jjava_lang_Object) ()
-         str  <- getStringUTF strx
+         isNull <- getIsNothing head
+         str  <- if isNull then (return "") else (toString_JObject ((castTLRef head) :: Jjava_lang_Object) () >>= getStringUTF >>= \x -> return (showUTF8 x))
          numChildren <- size_JTree t()
          children    <- if numChildren == 0
                         then do return []
          numChildren <- size_JTree t()
          children    <- if numChildren == 0
                         then do return []
@@ -68,7 +68,7 @@ module SBP
                                                 $ iterate (+1) 0
                                 h        <- mapM (\c -> haskifyTree (castTLRef c)) children
                                 return h
                                                 $ iterate (+1) 0
                                 h        <- mapM (\c -> haskifyTree (castTLRef c)) children
                                 return h
-         return $ Tree (showUTF8 str) children nullRegion
+         return $ Tree str children nullRegion
       ) :: JVM Tree)
 
 
       ) :: JVM Tree)