src/JavaFieldRef2.st
branchjk_new_structure
changeset 791 46666ff1f9b6
parent 772 0f92c23b80ee
child 792 14aa43c34268
--- a/src/JavaFieldRef2.st	Sun May 15 20:08:09 2011 +0000
+++ b/src/JavaFieldRef2.st	Sun May 15 20:25:38 2011 +0000
@@ -1,7 +1,7 @@
 "{ Package: 'stx:libjava' }"
 
 JavaClassContentRef2 subclass:#JavaFieldRef2
-	instanceVariableNames:''
+	instanceVariableNames:'offset'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Languages-Java-Reader-Support-new'
@@ -14,21 +14,37 @@
 ^true.
 
     "Created: / 11-04-2011 / 21:47:51 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+!
+
+offset
+    ^ offset.
+
+    "Created: / 15-05-2011 / 22:26:08 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 ! !
 
 !JavaFieldRef2 methodsFor:'private - resolving'!
 
 findResolvedStaticValue
- valueCache := JavaResolver uniqueInstance 
+    | class |
+
+    valueCache := JavaResolver uniqueInstance 
                 resolveStaticFieldIndentifiedByRef: self.
+    class := classRefIndex resolve.
+    class ifNotNil: [ offset := class class instVarOffsetOf: self name ].
 
     "Created: / 28-04-2011 / 22:05:10 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Modified: / 15-05-2011 / 22:25:09 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
 findResolvedValue
-valueCache := JavaResolver uniqueInstance resolveFieldIndentifiedByRef: self.
+    | class |
 
-    "Modified: / 11-04-2011 / 20:43:01 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    valueCache := JavaResolver uniqueInstance 
+                resolveFieldIndentifiedByRef: self.
+    class := classRefIndex resolve.
+    class ifNotNil: [ offset := class instVarOffsetOf: self name ].
+
+    "Modified: / 15-05-2011 / 22:25:56 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 ! !
 
 !JavaFieldRef2 class methodsFor:'documentation'!