*** empty log message ***
authorcg
Tue, 02 Jul 1996 19:54:53 +0000
changeset 110 dfb03e2ea321
parent 109 31342b9d745a
child 111 23243f9273fa
*** empty log message ***
JavaClass.st
JavaClassReader.st
--- a/JavaClass.st	Tue Jul 02 18:42:36 1996 +0000
+++ b/JavaClass.st	Tue Jul 02 19:54:53 1996 +0000
@@ -1,6 +1,7 @@
 ClassDescription subclass:#JavaClass
 	instanceVariableNames:'fullName accessFlags constantPool sourceFile binaryFilePath
-		fields initialized initValues staticFields hasUnresolvedConstants'
+		fields initialized initValues staticFields hasUnresolvedConstants
+		interfaces'
 	classVariableNames:'InitialValuePerType'
 	poolDictionaries:''
 	category:'Java-Classes'
@@ -143,6 +144,19 @@
     ^ fullName
 !
 
+interfaces
+    interfaces notNil ifTrue:[
+        interfaces := interfaces collect:[:clsRef |
+                                    clsRef isUnresolved ifTrue:[
+                                        clsRef preResolve
+                                    ] ifFalse:[
+                                        clsRef
+                                    ]
+                                 ].
+    ].
+    ^ interfaces
+!
+
 javaClass
     ^ self
 !
@@ -518,6 +532,13 @@
     "Created: 15.4.1996 / 16:42:52 / cg"
 !
 
+setInterfaces:i
+    i size > 0 ifTrue:[
+        interfaces := i
+    ]
+
+!
+
 setSourceFile:aFilename
     sourceFile := aFilename.
 
@@ -664,6 +685,6 @@
 !JavaClass  class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.34 1996/06/30 17:12:14 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.35 1996/07/02 19:54:41 cg Exp $'
 ! !
 JavaClass initialize!
--- a/JavaClassReader.st	Tue Jul 02 18:42:36 1996 +0000
+++ b/JavaClassReader.st	Tue Jul 02 19:54:53 1996 +0000
@@ -403,8 +403,6 @@
             super_class := existingSuperClass
         ] ifFalse:[
             (super_class isMemberOf:JavaUnresolvedClassConstant) ifTrue:[
-
-                
                 Silent ifFalse:[
                     'load superClass: ' print. super_class fullName printCR.
                 ].
@@ -458,6 +456,7 @@
     this_class setConstantPool:constants.
 
     this_class setFields:fields.
+    this_class setInterfaces:interfaces.
 
     "/
     "/ get methods
@@ -1050,7 +1049,7 @@
 !JavaClassReader methodsFor:'file reading - interfaces'!
 
 readInterfaces
-    |interfacesCount interface interfaces|
+    |interfacesCount interface_index interface interfaces|
 
     "/
     "/ get interfaces
@@ -1062,7 +1061,8 @@
 
     1 to:interfacesCount do:[:i |
         Verbose ifTrue:[Transcript show:'interface: '; showCR:i].
-        interface = self nextU2.
+        interface_index := self nextU2.
+        interface := constants at:interface_index.
 
         interfaces at:i put:interface.
     ].
@@ -1334,6 +1334,6 @@
 !JavaClassReader  class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.32 1996/07/02 12:20:58 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.33 1996/07/02 19:54:53 cg Exp $'
 ! !
 JavaClassReader initialize!