Enhace constants pool handling.
[hs-java.git] / JVM / Builder / Instructions.hs
index 8577a44729ad206824102df23ddb7b7640be3e99..f74429cecdc57401c6f09417e7c8493b429f701e 100644 (file)
@@ -5,6 +5,8 @@ module JVM.Builder.Instructions where
 
 import Data.Word
 import qualified Data.ByteString.Lazy as B
+import Codec.Binary.UTF8.String (encodeString)
+import Data.String
 
 import JVM.ClassFile
 import JVM.Assembler
@@ -293,9 +295,9 @@ getStaticField :: Generator e g => B.ByteString -> NameType Field -> g e ()
 getStaticField cls sig =
   i1 GETSTATIC (CField cls sig)
 
-loadString :: Generator e g => B.ByteString -> g e ()
+loadString :: Generator e g => String -> g e ()
 loadString str =
-  i8 LDC1 (CString str)
+  i8 LDC1 (CString $ fromString $ encodeString $ str)
 
 allocArray :: Generator e g => B.ByteString -> g e ()
 allocArray cls =