src/JavaClassReader.st
branchjk_new_structure
changeset 796 9b3e00dd3196
parent 784 1f70ce9d0fee
child 797 8d4e7c17eadd
--- a/src/JavaClassReader.st	Wed May 18 11:19:08 2011 +0000
+++ b/src/JavaClassReader.st	Wed May 18 11:58:51 2011 +0000
@@ -740,6 +740,7 @@
     
     | magic  access_flags  this_class_index  super_class  super_class_index  realSuperClass  this_class_ref  existingSuperClass  fields  interfaces  staticFields  nStatic  jSuperClass  loader  superClassName  thisClassName  existing_class  thisMetaClass |
 
+
     "/
     "/ read magic, determine byte order
     "/
@@ -902,7 +903,10 @@
     
     self readMethodsFor: classBeingLoaded.
     self readAttributesFor: classBeingLoaded.
-    classBeingLoaded constantPool do: [:each | self updateOwnerInCPItem: each ].
+    classBeingLoaded constantPool 
+        do: [:each | self updateOwnerInCPItem: each ].
+    classBeingLoaded fields do: [:each | self updateOwnerInField: each ].
+classBeingLoaded staticFields do: [:each | self updateOwnerInField: each ].
     ^ classBeingLoaded.
 
     "
@@ -919,7 +923,7 @@
     "Modified: / 15-10-2010 / 17:37:38 / Jan Kurs <kurs.jan@post.cz>"
     "Modified: / 19-10-2010 / 21:43:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 28-01-2011 / 15:09:48 / Marcel Hlopko <hlopik@gmail.com>"
-    "Modified: / 12-05-2011 / 17:40:59 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Modified: / 18-05-2011 / 13:57:45 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
 readStream:aStream ignoring:classesBeingLoaded
@@ -2134,7 +2138,7 @@
 
 readFieldInfofield
     | access_flags  name_index  signature_index  attributes_count  field |
-
+            self breakPoint:#mh.
     access_flags := inStream nextUnsignedShortMSB: msb.
     name_index := inStream nextUnsignedShortMSB: msb.
     signature_index := inStream nextUnsignedShortMSB: msb.
@@ -2162,7 +2166,7 @@
     "Created: / 15-04-1996 / 15:38:43 / cg"
     "Modified: / 15-10-1998 / 10:38:01 / cg"
     "Modified: / 17-12-2010 / 18:44:30 / Marcel Hlopko <hlopik@gmail.com>"
-    "Modified: / 01-04-2011 / 11:38:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Modified: / 18-05-2011 / 13:53:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
 readFieldInfofields
@@ -2587,6 +2591,13 @@
             ifTrue: [ each owner: classBeingLoaded ].
 
     "Created: / 12-05-2011 / 17:40:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+!
+
+updateOwnerInField: each 
+
+            each setClass: classBeingLoaded.
+
+    "Created: / 18-05-2011 / 13:57:20 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 ! !
 
 !JavaClassReader class methodsFor:'documentation'!