fields: use offsets from ClassInfo in codegen
[mate.git] / Mate / Utilities.hs
index 2d755ccf4c3385f6ceeec382e184c99ce6abafb2..7a75466e9af87e8c8f1ee0b7051198779e3c7efc 100644 (file)
@@ -24,8 +24,12 @@ buildMethodID cls idx = MethodInfo (ntName nt) rc (ntSignature nt)
   where
   (CMethod rc nt) = (constsPool cls) M.! idx
 
-buildFieldID :: Class Resolved -> Word16 -> StaticFieldInfo
-buildFieldID cls idx = StaticFieldInfo rc (ntName fnt)
+buildStaticFieldID :: Class Resolved -> Word16 -> StaticFieldInfo
+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)
   where (CField rc fnt) = (constsPool cls) M.! idx
 
 methodGetArgsCount :: Class Resolved -> Word16 -> Word32