JavaFieldref.st
changeset 255 2d8b3948a08a
parent 252 04b330744577
child 264 44aedfcd08d1
--- a/JavaFieldref.st	Mon Jan 12 13:51:13 1998 +0000
+++ b/JavaFieldref.st	Mon Jan 12 14:24:47 1998 +0000
@@ -1,13 +1,26 @@
-'From Smalltalk/X, Version:3.3.1 on 2-jan-1998 at 6:37:23 pm'                   !
+'From Smalltalk/X, Version:3.3.1 on 10-jan-1998 at 12:05:58 am'                 !
 
 JavaRef subclass:#JavaFieldref
 	instanceVariableNames:'offset type'
-	classVariableNames:''
+	classVariableNames:'T_LONG T_DOUBLE'
 	poolDictionaries:''
 	category:'Java-Reader-Support'
 !
 
 
+!JavaFieldref class methodsFor:'initialization'!
+
+initialize
+    T_LONG := 1.
+    T_DOUBLE := 2.
+
+    "
+     self initialize
+    "
+
+    "Created: / 10.1.1998 / 11:45:00 / cg"
+! !
+
 !JavaFieldref methodsFor:'accessing'!
 
 nameandType
@@ -35,11 +48,21 @@
 !JavaFieldref methodsFor:'resolving'!
 
 isDouble
-    ^ (JavaMethod typeFromSignature:nameandType signature) == #double
+    type isNil ifTrue:[
+        self resolveType
+    ].
+    ^ type == T_DOUBLE
+
+    "Modified: / 10.1.1998 / 11:51:52 / cg"
 !
 
 isLong
-    ^ (JavaMethod typeFromSignature:nameandType signature) == #long
+    type isNil ifTrue:[
+        self resolveType
+    ].
+    ^ type == T_LONG
+
+    "Modified: / 10.1.1998 / 11:51:36 / cg"
 !
 
 name
@@ -47,112 +70,86 @@
 !
 
 offset
-    offset notNil ifTrue:[^ offset].
-    self resolve.
+    offset isNil ifTrue:[
+        self resolve.
+    ].
     ^ offset.
 
-    "Modified: / 1.1.1998 / 19:20:23 / cg"
+    "Modified: / 10.1.1998 / 11:48:19 / cg"
 !
 
 resolve
-    |nm sig cls|
+    |nm cls|
 
     class isUnresolved ifTrue:[
-	self halt:'unresolved class'.
+        self halt:'unresolved class'.
     ].
 
+    self resolveType.
     nm := nameandType name asSymbol.
-    sig := nameandType signature.
-
-    type := JavaMethod typeFromSignature:sig.
     offset := class instVarOffsetOf:nm.
 
-    "Modified: / 1.1.1998 / 19:19:52 / cg"
+    "Modified: / 10.1.1998 / 11:50:06 / cg"
 !
 
 resolveStatic
-    |nm sig mthd cls|
+    |nm cls|
 
     cls := class javaClass.
     cls ~~ class ifTrue:[
         class := cls.
     ].
 
+    self resolveType.
     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"
+    "Modified: / 10.1.1998 / 11:50:45 / cg"
+!
+
+resolveType
+    type := JavaMethod typeFromSignature:(nameandType signature) in:nil.
+    type == #long ifTrue:[
+        type := T_LONG.
+    ] ifFalse:[
+        type == #double ifTrue:[
+            type := T_DOUBLE
+        ]
+    ].
+
+    "Created: / 10.1.1998 / 11:49:36 / cg"
 !
 
 staticOffset
-    offset notNil ifTrue:[^ offset].
-    self resolveStatic.
+    offset isNil ifTrue:[
+        self resolveStatic.
+    ].
     ^ offset.
 
-    "Modified: / 2.1.1998 / 17:17:47 / cg"
+    "Modified: / 10.1.1998 / 11:47:59 / 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].
-
-"/    class := class resolveClass.
-
-"/    (class isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
-"/        cls := class resolve.
-"/        cls notNil ifTrue:[
-"/            class := cls
-"/        ].
-"/    ].
-    class isUnresolved ifTrue:[
-	self halt:'unresolved class'.
+    type isNil ifTrue:[
+        self resolveType.
+    ].
+    type == T_LONG ifTrue:[
+        ^ #long.
+    ].
+    type == T_DOUBLE ifTrue:[
+        ^ #double
     ].
 
-    nm := nameandType name asSymbol.
-    sig := nameandType signature.
-
-    type := JavaMethod typeFromSignature:sig.
-    offset := class instVarOffsetOf:nm.
-    ^ offset.
-!
-
-xxtype
-    |sig cls|
-
-    type notNil ifTrue:[^ type].
+    ^ type.
 
-"/    class := class resolveClass.
-
-"/    (class isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
-"/        cls := class resolve.
-"/        cls notNil ifTrue:[
-"/            class := cls
-"/        ]
-"/    ].
-    class isUnresolved ifTrue:[
-	self halt:'unresolved class'.
-    ].
-
-    sig := nameandType signature.
-    type := JavaMethod typeFromSignature:sig.
-    ^ type.
+    "Modified: / 10.1.1998 / 11:50:54 / cg"
 ! !
 
 !JavaFieldref class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaFieldref.st,v 1.15 1998/01/05 18:47:25 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaFieldref.st,v 1.16 1998/01/12 14:24:33 cg Exp $'
+
 ! !
+JavaFieldref initialize!