intitial checkin
authorcg
Mon, 15 Apr 1996 15:08:12 +0000
changeset 1 083530508d9c
parent 0 d9d3cd1941cc
child 2 91843ac44d2f
intitial checkin
JavaClass.st
JavaClassReader.st
JavaFieldref.st
JavaMethodref.st
JavaNameandType.st
JavaRef.st
JavaUnresolvedClassConstant.st
JavaUnresolvedConstant.st
JavaUnresolvedFieldrefConstant.st
JavaUnresolvedMethodrefConstant.st
JavaUnresolvedNameandTypeConstant.st
JavaUnresolvedRefConstant.st
JavaUnresolvedStringConstant.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaClass.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,36 @@
+ClassDescription subclass:#JavaClass
+	instanceVariableNames:'accessFlags'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Classes'
+!
+
+
+!JavaClass class methodsFor:'instance creation'!
+
+name:aString
+    ^ self new setName:aString
+
+    "Created: 15.4.1996 / 15:52:55 / cg"
+! !
+
+!JavaClass methodsFor:'printing & storing'!
+
+displayString
+    ^ self class name , '(' , name , ')'
+
+    "Created: 15.4.1996 / 16:02:48 / cg"
+! !
+
+!JavaClass methodsFor:'private accessing'!
+
+setAccessFlags:flags
+
+    "Created: 15.4.1996 / 16:42:52 / cg"
+! !
+
+!JavaClass class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.1 1996/04/15 14:56:48 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaClassReader.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,489 @@
+Object subclass:#JavaClassReader
+	instanceVariableNames:'inStream msb constants this_class super_class'
+	classVariableNames:'Verbose'
+	poolDictionaries:''
+	category:'Java-Support'
+!
+
+
+!JavaClassReader class methodsFor:'initialization'!
+
+initialize
+    Verbose := false
+! !
+
+!JavaClassReader class methodsFor:'debugging'!
+
+verbose:aBoolean
+    Verbose := aBoolean
+
+    "
+     JavaClassReader verbose:true
+     JavaClassReader verbose:false
+    "
+! !
+
+!JavaClassReader class methodsFor:'file reading'!
+
+readFile:aFilename
+    |inStream retVal|
+
+    inStream := aFilename asFilename readStream.
+    inStream isNil ifTrue:[^ nil].
+    retVal := self readStream:inStream.
+    inStream close.
+    ^ retVal
+
+    "Created: 15.4.1996 / 14:58:53 / cg"
+!
+
+readStream:aStream
+    ^ self new readStream:aStream
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Modified: 15.4.1996 / 15:01:30 / cg"
+! !
+
+!JavaClassReader methodsFor:'file reading'!
+
+readAttribute
+    |attribute_name attribute_length attribute_info|
+
+    attribute_name := self nextU2.
+    attribute_length := self nextU4.
+    attribute_info := ByteArray new:(attribute_length).
+    inStream nextBytes:attribute_length into:attribute_info startingAt:1.
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Modified: 15.4.1996 / 15:33:28 / cg"
+    "Created: 15.4.1996 / 15:40:17 / cg"
+!
+
+readClassFile
+    |magic version 
+     access_flags this_class_index super_class_index|
+
+    "/
+    "/ read magic, determine byte order
+    "/
+    msb := true.
+    magic := self nextU4.
+    magic = 16rCAFEBABE ifFalse:[
+        magic = 16rBEBAFECA ifFalse:[
+            self error:'not a java class file'.
+            ^ nil
+        ].
+        msb := false.
+        Verbose ifTrue:[Transcript showCr:'file is lsb'].
+    ] ifTrue:[
+        Verbose ifTrue:[Transcript showCr:'file is msb'].
+    ].
+
+    "/
+    "/ get version
+    "/
+    version := self nextU4.
+    Verbose ifTrue:[Transcript show:'version = '; showCr:version].
+
+    "/
+    "/ get constant pool
+    "/
+    self readConstantPool.
+
+    "/
+    "/ access flags
+    "/
+    access_flags := self nextU2.
+    this_class_index := self nextU2.
+    super_class_index := self nextU2.
+
+    this_class := constants at:this_class_index.
+    super_class := constants at:super_class_index.
+
+    this_class setAccessFlags:access_flags.
+
+    "/
+    "/ get interfaces
+    "/
+    self readInterfaces.
+
+    "/
+    "/ get fields
+    "/
+    self readFieldInfofields.
+
+    "/
+    "/ get methods
+    "/
+    self readMethods.
+
+self halt.
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/Alignable.class'
+    "
+
+    "Created: 15.4.1996 / 15:02:47 / cg"
+    "Modified: 15.4.1996 / 16:51:48 / cg"
+!
+
+readConstant
+    |tag constReader const|
+
+
+    "/
+    "/ get tag
+    "/
+    tag := self nextU1.
+    Verbose ifTrue:[Transcript show:'tag = '; showCr:tag].
+
+    constReader := #(
+                        readConstant_Asciz              "/ 1
+                        readConstant_Undef              "/ 2
+                        readConstant_Integer            "/ 3
+                        readConstant_Float              "/ 4
+                        readConstant_Long               "/ 5
+                        readConstant_Double             "/ 6
+                        readConstant_Class              "/ 7
+                        readConstant_String             "/ 8
+                        readConstant_Fieldref           "/ 9
+                        readConstant_Methodref          "/ 10
+                        readConstant_InterfaceMethodref "/ 11
+                        readConstant_NameandType        "/ 12
+                    ) at:tag ifAbsent:[#readConstant_Undef].
+
+    ^ self perform:constReader.
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:46:32 / cg"
+    "Modified: 15.4.1996 / 15:47:00 / cg"
+!
+
+readConstantPool
+    |constantPoolCount const|
+
+    "/
+    "/ get constant pool
+    "/
+    constantPoolCount := self nextU2.
+    Verbose ifTrue:[Transcript show:'constantPoolCount = '; showCr:constantPoolCount].
+
+    constants := Array new:constantPoolCount-1.
+
+    1 to:constantPoolCount-1 do:[:i |
+        Verbose ifTrue:[Transcript show:'const: '; showCr:i].
+        const := self readConstant.
+        constants at:i put:const
+    ].
+
+    1 to:constantPoolCount-1 do:[:i |
+        |const|
+
+        const := constants at:i.
+        constants at:i put:(JavaUnresolvedConstant resolve:const from:constants).
+    ].
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/Alignable.class'
+    "
+
+    "Created: 15.4.1996 / 15:14:11 / cg"
+    "Modified: 15.4.1996 / 16:41:57 / cg"
+!
+
+readConstant_Asciz
+    |len string|
+
+    len := self nextU2.
+    string := String new:len.
+    inStream nextBytes:len into:string startingAt:1.
+
+    Verbose ifTrue:[Transcript show:'asciz; string= ';     showCr:string].
+
+    ^ string
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/Alignable.class'
+    "
+
+    "Created: 15.4.1996 / 15:15:35 / cg"
+    "Modified: 15.4.1996 / 16:33:45 / cg"
+!
+
+readConstant_Class
+    |name_index|
+
+    name_index := self nextU2.
+
+    Verbose ifTrue:[Transcript show:'class; index= '; showCr:name_index].
+
+    ^ JavaUnresolvedClassConstant nameIndex:name_index
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:21:13 / cg"
+    "Modified: 15.4.1996 / 15:49:32 / cg"
+!
+
+readConstant_Fieldref
+    |class_index name_and_type_index|
+
+    class_index := self nextU2.
+    name_and_type_index := self nextU2.
+
+    Verbose ifTrue:[Transcript show:'fieldref; classindex= ';     showCr:class_index].
+    Verbose ifTrue:[Transcript show:'fieldref; name&typeindex= '; showCr:name_and_type_index].
+
+    ^ JavaUnresolvedFieldrefConstant 
+                classIndex:class_index
+                nameandTypeIndex:name_and_type_index
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:22:18 / cg"
+    "Modified: 15.4.1996 / 16:07:01 / cg"
+!
+
+readConstant_Integer
+    |value|
+
+    value := self nextU4.
+
+    Verbose ifTrue:[Transcript show:'integer; value= ';     showCr:value].
+
+    ^ value
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/Alignable.class'
+    "
+
+    "Modified: 15.4.1996 / 15:42:16 / cg"
+    "Created: 15.4.1996 / 16:34:42 / cg"
+!
+
+readConstant_Methodref
+    |class_index name_and_type_index|
+
+    class_index := self nextU2.
+    name_and_type_index := self nextU2.
+
+    Verbose ifTrue:[Transcript show:'methodref; classindex= ';     showCr:class_index].
+    Verbose ifTrue:[Transcript show:'methodref; name&typeindex= '; showCr:name_and_type_index].
+
+    ^ JavaUnresolvedMethodrefConstant 
+                classIndex:class_index
+                nameandTypeIndex:name_and_type_index
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:22:37 / cg"
+    "Modified: 15.4.1996 / 16:07:19 / cg"
+!
+
+readConstant_NameandType
+    |name_index signature_index|
+
+    name_index := self nextU2.
+    signature_index := self nextU2.
+
+    Verbose ifTrue:[Transcript show:'methodref; nameindex= ';     showCr:name_index].
+    Verbose ifTrue:[Transcript show:'methodref; signatureindex= '; showCr:signature_index].
+
+    ^ JavaUnresolvedNameandTypeConstant 
+                nameIndex:name_index
+                signatureIndex:signature_index
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:23:43 / cg"
+    "Modified: 15.4.1996 / 16:17:16 / cg"
+!
+
+readConstant_String
+    |tag string_index|
+
+    string_index := self nextU2.
+
+    Verbose ifTrue:[Transcript show:'string; index= '; showCr:string_index].
+
+    ^ JavaUnresolvedStringConstant index:string_index
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:20:33 / cg"
+    "Modified: 15.4.1996 / 16:01:37 / cg"
+!
+
+readFieldInfofield
+    |access_flags name_index signature_index attributes_count|
+
+    access_flags := self nextU2.
+    name_index := self nextU2.
+    signature_index := self nextU2.
+    attributes_count := self nextU2.
+
+    1 to:attributes_count do:[:i |
+        self readAttribute.
+    ].
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Modified: 15.4.1996 / 15:33:28 / cg"
+    "Created: 15.4.1996 / 15:38:43 / cg"
+!
+
+readFieldInfofields
+    |fieldsCount interface|
+
+    "/
+    "/ get interfaces
+    "/
+    fieldsCount := self nextU2.
+    Verbose ifTrue:[Transcript show:'fieldsCount = '; showCr:fieldsCount].
+
+    1 to:fieldsCount do:[:i |
+        Verbose ifTrue:[Transcript show:'field: '; showCr:i].
+        self readFieldInfofield
+    ].
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:34:41 / cg"
+    "Modified: 15.4.1996 / 15:35:28 / cg"
+!
+
+readInterfaces
+    |interfacesCount interface|
+
+
+    "/
+    "/ get interfaces
+    "/
+    interfacesCount := self nextU2.
+    Verbose ifTrue:[Transcript show:'interfacesCount = '; showCr:interfacesCount].
+
+    1 to:interfacesCount do:[:i |
+        Verbose ifTrue:[Transcript show:'interface: '; showCr:i].
+        interface = self nextU2
+    ].
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:31:59 / cg"
+    "Modified: 15.4.1996 / 15:33:28 / cg"
+!
+
+readMethod
+    |access_flags name_index signature_index attributes_counts attribute|
+
+
+    "/
+    "/ get a method
+    "/
+    access_flags := self nextU2.
+    name_index := self nextU2.
+    signature_index := self nextU2.
+    attributes_counts := self nextU2.
+
+    1 to:attributes_counts do:[:i |
+        attribute = self readAttribute
+    ].
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Modified: 15.4.1996 / 15:33:28 / cg"
+    "Created: 15.4.1996 / 16:48:49 / cg"
+!
+
+readMethods
+    |methodsCount method|
+
+
+    "/
+    "/ get methods
+    "/
+    methodsCount := self nextU2.
+    Verbose ifTrue:[Transcript show:'methodsCount = '; showCr:methodsCount].
+
+    1 to:methodsCount do:[:i |
+        Verbose ifTrue:[Transcript show:'method: '; showCr:i].
+        method = self readMethod
+    ].
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Modified: 15.4.1996 / 15:33:28 / cg"
+    "Created: 15.4.1996 / 16:46:30 / cg"
+!
+
+readStream:aStream
+    inStream := aStream.
+    inStream binary.
+    self readClassFile
+
+    "
+     JavaClassReader readFile:'/phys/ibm3/hotjava/classes/browser/AddButton.class'
+    "
+
+    "Created: 15.4.1996 / 15:00:55 / cg"
+    "Modified: 15.4.1996 / 15:06:18 / cg"
+! !
+
+!JavaClassReader methodsFor:'low level reading'!
+
+nextU1
+    ^ inStream nextByte
+
+    "Created: 15.4.1996 / 15:15:43 / cg"
+!
+
+nextU2
+    ^ inStream nextUnsignedShortMSB:msb
+
+    "Created: 15.4.1996 / 15:12:25 / cg"
+!
+
+nextU4
+    ^ inStream nextUnsignedLongMSB:msb
+
+    "Created: 15.4.1996 / 15:04:28 / cg"
+! !
+
+!JavaClassReader class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClassReader.st,v 1.1 1996/04/15 15:08:12 cg Exp $'
+! !
+JavaClassReader initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaFieldref.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,13 @@
+JavaRef subclass:#JavaFieldref
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Classes'
+!
+
+
+!JavaFieldref class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaFieldref.st,v 1.1 1996/04/15 14:57:10 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaMethodref.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,13 @@
+JavaRef subclass:#JavaMethodref
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Classes'
+!
+
+
+!JavaMethodref class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.1 1996/04/15 14:57:37 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaNameandType.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,38 @@
+Object subclass:#JavaNameandType
+	instanceVariableNames:'name signature'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Classes'
+!
+
+
+!JavaNameandType class methodsFor:'instance creation'!
+
+name:aString signature:signature
+    ^ self new name:aString signature:signature
+
+    "Created: 15.4.1996 / 16:17:14 / cg"
+! !
+
+!JavaNameandType methodsFor:'accessing'!
+
+name:aString signature:aSignature
+     name := aString.
+     signature := aSignature
+
+    "Created: 15.4.1996 / 16:16:47 / cg"
+! !
+
+!JavaNameandType methodsFor:'printing & storing'!
+
+displayString
+    ^ self class name , '(name:' , name , ' signature: ' , signature displayString , ')'
+
+    "Created: 15.4.1996 / 16:32:40 / cg"
+! !
+
+!JavaNameandType class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNameandType.st,v 1.1 1996/04/15 14:57:47 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaRef.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,39 @@
+Object subclass:#JavaRef
+	instanceVariableNames:'class nameandType'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Classes'
+!
+
+
+!JavaRef class methodsFor:'instance creation'!
+
+class:aJavaClass nameandType:nameAndType
+    ^ self new class:aJavaClass nameandType:nameAndType
+
+    "Created: 15.4.1996 / 16:10:49 / cg"
+! !
+
+!JavaRef methodsFor:'accessing'!
+
+class:aJavaClass nameandType:aJavanameAndType
+     class := aJavaClass.
+     nameandType := aJavanameAndType
+
+    "Modified: 15.4.1996 / 16:08:39 / cg"
+    "Created: 15.4.1996 / 16:10:37 / cg"
+! !
+
+!JavaRef methodsFor:'printing & storing'!
+
+displayString
+    ^ self class name , '(class:' , class displayString , ' ; name&type: ' , nameandType displayString , ')'
+
+    "Created: 15.4.1996 / 16:18:54 / cg"
+! !
+
+!JavaRef class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaRef.st,v 1.1 1996/04/15 14:57:57 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedClassConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,31 @@
+JavaUnresolvedConstant subclass:#JavaUnresolvedClassConstant
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedClassConstant class methodsFor:'instance creation'!
+
+nameIndex:index
+    ^ self index:index
+! !
+
+!JavaUnresolvedClassConstant methodsFor:'resolving'!
+
+resolveFrom:aConstantTable
+    |name|
+
+    name := self class resolve:(aConstantTable at:index) from:aConstantTable.
+    ^ JavaClass name:name
+
+    "Created: 15.4.1996 / 15:51:42 / cg"
+    "Modified: 15.4.1996 / 16:26:05 / cg"
+! !
+
+!JavaUnresolvedClassConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedClassConstant.st,v 1.1 1996/04/15 14:58:21 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,39 @@
+Object subclass:#JavaUnresolvedConstant
+	instanceVariableNames:'index'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedConstant class methodsFor:'instance creation'!
+
+index:index
+    ^ self new index:index
+
+
+! !
+
+!JavaUnresolvedConstant class methodsFor:'resolving'!
+
+resolve:aPossiblyUnresolvedConstant from:aConstantTable
+    (aPossiblyUnresolvedConstant isKindOf:JavaUnresolvedConstant) ifTrue:[
+        ^ aPossiblyUnresolvedConstant resolveFrom:aConstantTable
+    ].
+    ^ aPossiblyUnresolvedConstant
+
+! !
+
+!JavaUnresolvedConstant methodsFor:'accessing'!
+
+index:i
+    index := i
+
+    "Created: 15.4.1996 / 15:59:45 / cg"
+! !
+
+!JavaUnresolvedConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedConstant.st,v 1.1 1996/04/15 14:58:30 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedFieldrefConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,28 @@
+JavaUnresolvedRefConstant subclass:#JavaUnresolvedFieldrefConstant
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedFieldrefConstant methodsFor:'resolving'!
+
+resolveFrom:aConstantTable
+    |class nameAndType|
+
+    class := self class resolve:(aConstantTable at:index) from:aConstantTable.
+    nameAndType := self class resolve:(aConstantTable at:nameandTypeIndex) from:aConstantTable.
+    ^ JavaFieldref 
+        class:class
+        nameandType:nameAndType
+
+    "Created: 15.4.1996 / 16:05:50 / cg"
+    "Modified: 15.4.1996 / 16:26:44 / cg"
+! !
+
+!JavaUnresolvedFieldrefConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedFieldrefConstant.st,v 1.1 1996/04/15 14:58:39 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedMethodrefConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,28 @@
+JavaUnresolvedRefConstant subclass:#JavaUnresolvedMethodrefConstant
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedMethodrefConstant methodsFor:'resolving'!
+
+resolveFrom:aConstantTable
+    |class nameAndType|
+
+    class := self class resolve:(aConstantTable at:index) from:aConstantTable.
+    nameAndType := self class resolve:(aConstantTable at:nameandTypeIndex) from:aConstantTable.
+    ^ JavaMethodref 
+        class:class
+        nameandType:nameAndType
+
+    "Created: 15.4.1996 / 16:12:41 / cg"
+    "Modified: 15.4.1996 / 16:26:59 / cg"
+! !
+
+!JavaUnresolvedMethodrefConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedMethodrefConstant.st,v 1.1 1996/04/15 14:58:51 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedNameandTypeConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,44 @@
+JavaUnresolvedConstant subclass:#JavaUnresolvedNameandTypeConstant
+	instanceVariableNames:'signatureIndex'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedNameandTypeConstant class methodsFor:'instance creation'!
+
+nameIndex:name_index signatureIndex:signature_index
+    ^ (super index:name_index) signatureIndex:signature_index
+
+    "Created: 15.4.1996 / 16:15:16 / cg"
+! !
+
+!JavaUnresolvedNameandTypeConstant methodsFor:'accessing'!
+
+signatureIndex:signature_index
+    signatureIndex := signature_index
+
+    "Created: 15.4.1996 / 16:14:39 / cg"
+! !
+
+!JavaUnresolvedNameandTypeConstant methodsFor:'resolving'!
+
+resolveFrom:aConstantTable
+    |name signature|
+
+    name := self class resolve:(aConstantTable at:index) from:aConstantTable.
+    signature := self class resolve:(aConstantTable at:signatureIndex) from:aConstantTable.
+    ^ JavaNameandType 
+        name:name
+        signature:signature
+
+    "Created: 15.4.1996 / 16:15:53 / cg"
+    "Modified: 15.4.1996 / 16:27:33 / cg"
+! !
+
+!JavaUnresolvedNameandTypeConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedNameandTypeConstant.st,v 1.1 1996/04/15 15:02:07 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedRefConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,38 @@
+JavaUnresolvedConstant subclass:#JavaUnresolvedRefConstant
+	instanceVariableNames:'nameandTypeIndex'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedRefConstant class methodsFor:'instance creation'!
+
+classIndex:class_index nameandTypeIndex:name_and_type_index
+    ^ (super index:class_index) nameandTypeIndex:name_and_type_index
+
+    "Created: 15.4.1996 / 16:11:49 / cg"
+! !
+
+!JavaUnresolvedRefConstant methodsFor:'accessing'!
+
+nameandTypeIndex:name_and_type_index
+    nameandTypeIndex := name_and_type_index
+
+    "Created: 15.4.1996 / 16:12:00 / cg"
+! !
+
+!JavaUnresolvedRefConstant methodsFor:'resolving'!
+
+resolveFrom:aConstantTable
+    ^ self subclassResponsibility
+
+    "Created: 15.4.1996 / 16:12:00 / cg"
+    "Modified: 15.4.1996 / 16:28:11 / cg"
+! !
+
+!JavaUnresolvedRefConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedRefConstant.st,v 1.1 1996/04/15 15:03:27 cg Exp $'
+! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaUnresolvedStringConstant.st	Mon Apr 15 15:08:12 1996 +0000
@@ -0,0 +1,31 @@
+JavaUnresolvedConstant subclass:#JavaUnresolvedStringConstant
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Java-Reader-Support'
+!
+
+
+!JavaUnresolvedStringConstant class methodsFor:'instance creation'!
+
+stringIndex:index
+    ^ self index:index
+! !
+
+!JavaUnresolvedStringConstant methodsFor:'resolving'!
+
+resolveFrom:aConstantTable
+    |string|
+
+    string := self class resolve:(aConstantTable at:index) from:aConstantTable.
+    ^ JavaString string:string
+
+    "Created: 15.4.1996 / 15:51:42 / cg"
+    "Modified: 15.4.1996 / 16:28:45 / cg"
+! !
+
+!JavaUnresolvedStringConstant class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedStringConstant.st,v 1.1 1996/04/15 15:03:38 cg Exp $'
+! !