--- a/JavaUnresolvedMethodrefConstant.st Sat Aug 21 11:35:42 1999 +0000
+++ b/JavaUnresolvedMethodrefConstant.st Sat Aug 21 11:36:13 1999 +0000
@@ -187,10 +187,46 @@
self rememberForResolveWith:(class fullName).
^ self
+!
+
+resolveMethod
+ |nm sig mthd cls class|
+
+ class := (constantPool at:classIndex).
+ class isUnresolved ifTrue:[
+ class := class preResolve.
+ ].
+ class isUnresolved ifTrue:[
+"/ self halt:'unresolved class: ' , class name.
+ JavaVM throwClassNotFoundException:class name.
+ ^ nil.
+ ].
+self halt.
+ 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'.
+ ].
+ mthd := self preResolve.
+ mthd == self ifTrue:[
+ self halt:'unresolved method'.
+ ].
+
+ ^ mthd
+
! !
!JavaUnresolvedMethodrefConstant class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedMethodrefConstant.st,v 1.10 1998/11/16 15:16:31 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaUnresolvedMethodrefConstant.st,v 1.11 1999/08/21 11:36:13 cg Exp $'
! !