--- a/JavaUnresolvedFieldrefConstant.st Fri Jun 28 21:39:41 1996 +0000
+++ b/JavaUnresolvedFieldrefConstant.st Fri Jun 28 21:39:53 1996 +0000
@@ -1,17 +1,69 @@
JavaUnresolvedRefConstant subclass:#JavaUnresolvedFieldrefConstant
- instanceVariableNames:''
+ instanceVariableNames:'classIndex'
classVariableNames:''
poolDictionaries:''
category:'Java-Reader-Support'
!
+!JavaUnresolvedFieldrefConstant class methodsFor:'instance creation'!
+
+pool:aPool poolIndex:idx classIndex:cIdx nameandTypeIndex:nmIdx
+ ^ self new
+ pool:aPool poolIndex:idx classIndex:cIdx nameandTypeIndex:nmIdx
+
+
+! !
+
+!JavaUnresolvedFieldrefConstant methodsFor:'accessing'!
+
+pool:aPool poolIndex:slotIndex classIndex:cIdx nameandTypeIndex:nmIdx
+ constantPool := aPool.
+ constantPoolIndex := slotIndex.
+ classIndex := cIdx.
+ nameandTypeIndex := nmIdx
+
+
+
+! !
+
!JavaUnresolvedFieldrefConstant methodsFor:'resolving'!
+preResolve
+ |className class nameAndType ref|
+
+ class := (constantPool at:classIndex).
+ class isUnresolved ifTrue:[
+ class := class preResolve.
+ ].
+ class isUnresolved ifFalse:[
+ nameAndType := (constantPool at:nameandTypeIndex).
+ nameAndType isUnresolved ifTrue:[
+ nameAndType := nameAndType preResolve.
+ ].
+ nameAndType isUnresolved ifFalse:[
+ "/ good - class is there
+
+ ref := JavaFieldref class:class nameandType:nameAndType.
+ constantPool at:constantPoolIndex put:ref.
+ ^ ref
+ ]
+ ].
+
+ self rememberForResolveWith:(class fullName).
+ ^ self
+
+ "Created: 15.4.1996 / 16:05:50 / cg"
+ "Modified: 15.4.1996 / 16:26:44 / cg"
+! !
+
+!JavaUnresolvedFieldrefConstant ignoredMethodsFor:'resolving'!
+
resolveFrom:aConstantTable
|class nameAndType|
- class := self class resolve:(aConstantTable at:index) from:aConstantTable.
+self halt.
+ class := self class resolve:(aConstantTable at:constantPoolIndex) from:aConstantTable.
nameAndType := self class resolve:(aConstantTable at:nameandTypeIndex) from:aConstantTable.
^ JavaFieldref
@@ -22,8 +74,8 @@
"Modified: 15.4.1996 / 16:26:44 / cg"
! !
-!JavaUnresolvedFieldrefConstant class methodsFor:'documentation'!
+!JavaUnresolvedFieldrefConstant class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedFieldrefConstant.st,v 1.4 1996/05/03 11:28:42 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedFieldrefConstant.st,v 1.5 1996/06/28 21:39:53 cg Exp $'
! !