invokevirtual: implemented. not very well tested though
[mate.git] / Mate / Utilities.hs
index 7a75466e9af87e8c8f1ee0b7051198779e3c7efc..4ede7ba61b0779871b7b28ca3e04a769fb299b8f 100644 (file)
@@ -29,9 +29,13 @@ buildStaticFieldID cls idx = StaticFieldInfo rc (ntName fnt)
   where (CField rc fnt) = (constsPool cls) M.! idx
 
 buildFieldOffset :: Class Resolved -> Word16 -> (B.ByteString, B.ByteString)
-buildFieldOffset cls idx = (thisClass cls, ntName fnt)
+buildFieldOffset cls idx = (rc, ntName fnt)
   where (CField rc fnt) = (constsPool cls) M.! idx
 
+buildClassID :: Class Resolved -> Word16 -> B.ByteString
+buildClassID cls idx = cl
+  where (CClass cl) = (constsPool cls) M.! idx
+
 methodGetArgsCount :: Class Resolved -> Word16 -> Word32
 methodGetArgsCount cls idx = fromIntegral $ length args
   where