JavaFieldref.st
changeset 252 04b330744577
parent 243 d580e27e1b66
child 255 2d8b3948a08a
--- a/JavaFieldref.st	Fri Aug 29 16:03:19 1997 +0000
+++ b/JavaFieldref.st	Mon Jan 05 18:49:32 1998 +0000
@@ -1,3 +1,5 @@
+'From Smalltalk/X, Version:3.3.1 on 2-jan-1998 at 6:37:23 pm'                   !
+
 JavaRef subclass:#JavaFieldref
 	instanceVariableNames:'offset type'
 	classVariableNames:''
@@ -24,10 +26,10 @@
 
 displayString
     class isNil ifTrue:[
-        ^ 'JavaFieldRef ( ** unknown class ** ''' , nameandType displayString , ''')'
+	^ 'JavaFieldRef ( ** unknown class ** ''' , nameandType displayString , ''')'
     ].
     ^ 'JavaFieldRef (' , class fullName , ' ' 
-                        , '''' , nameandType name , '''' , nameandType signature , ')'
+			, '''' , nameandType name , '''' , nameandType signature , ')'
 ! !
 
 !JavaFieldref methodsFor:'resolving'!
@@ -45,6 +47,64 @@
 !
 
 offset
+    offset notNil ifTrue:[^ offset].
+    self resolve.
+    ^ offset.
+
+    "Modified: / 1.1.1998 / 19:20:23 / cg"
+!
+
+resolve
+    |nm sig cls|
+
+    class isUnresolved ifTrue:[
+	self halt:'unresolved class'.
+    ].
+
+    nm := nameandType name asSymbol.
+    sig := nameandType signature.
+
+    type := JavaMethod typeFromSignature:sig.
+    offset := class instVarOffsetOf:nm.
+
+    "Modified: / 1.1.1998 / 19:19:52 / cg"
+!
+
+resolveStatic
+    |nm sig mthd cls|
+
+    cls := class javaClass.
+    cls ~~ class ifTrue:[
+        class := cls.
+    ].
+
+    nm := nameandType name asSymbol.
+    sig := nameandType signature.
+
+    type := JavaMethod typeFromSignature:sig.
+    offset := class class instVarOffsetOf:nm.
+
+    "Created: / 2.1.1998 / 17:16:55 / cg"
+    "Modified: / 2.1.1998 / 17:17:22 / cg"
+!
+
+staticOffset
+    offset notNil ifTrue:[^ offset].
+    self resolveStatic.
+    ^ offset.
+
+    "Modified: / 2.1.1998 / 17:17:47 / cg"
+!
+
+type
+    type notNil ifTrue:[^ type].
+    self resolve.
+    ^ type.
+
+    "Modified: / 1.1.1998 / 19:20:37 / cg"
+!
+
+xxoffset
     |nm sig cls|
 
     offset notNil ifTrue:[^ offset].
@@ -58,7 +118,7 @@
 "/        ].
 "/    ].
     class isUnresolved ifTrue:[
-        self halt:'unresolved class'.
+	self halt:'unresolved class'.
     ].
 
     nm := nameandType name asSymbol.
@@ -69,33 +129,7 @@
     ^ offset.
 !
 
-staticOffset
-    |nm sig mthd cls|
-
-    offset notNil ifTrue:[^ offset].
-
-    cls := class javaClass.
-    cls ~~ class ifTrue:[
-        class := cls.
-    ].
-"/    (class isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
-"/        cls := class resolve.
-"/        cls notNil ifTrue:[
-"/            class := cls
-"/        ]
-"/    ].
-"/    (class isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
-"/        self halt:'unresolved class'.
-"/    ].
-
-    nm := nameandType name asSymbol.
-    sig := nameandType signature.
-
-    offset := class class instVarOffsetOf:nm.
-    ^ offset.
-!
-
-type
+xxtype
     |sig cls|
 
     type notNil ifTrue:[^ type].
@@ -109,7 +143,7 @@
 "/        ]
 "/    ].
     class isUnresolved ifTrue:[
-        self halt:'unresolved class'.
+	self halt:'unresolved class'.
     ].
 
     sig := nameandType signature.
@@ -120,5 +154,5 @@
 !JavaFieldref class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaFieldref.st,v 1.14 1997/08/19 13:29:42 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaFieldref.st,v 1.15 1998/01/05 18:47:25 cg Exp $'
 ! !