--- 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'!