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