--- a/JavaClass.st Thu Nov 05 19:23:38 1998 +0000
+++ b/JavaClass.st Tue Nov 10 00:17:42 1998 +0000
@@ -831,7 +831,12 @@
m notNil ifTrue:[
"/ 'calling clinit() of ' print. self fullName printNL.
[
- m valueWithReceiver:self arguments:#()
+ m
+ valueWithReceiver:self
+ arguments:#()
+ selector:#'<clinit>()V'
+ search:nil
+ sender:nil
] valueOnUnwindDo:[
accessFlags := accessFlags bitXor:A_INITIALIZED.
]
@@ -850,7 +855,7 @@
(Java classNamed:'java.util.Properties') classInit
"
- "Modified: / 13.1.1998 / 14:43:11 / cg"
+ "Modified: / 10.11.1998 / 01:17:27 / cg"
!
initializeStaticFields
@@ -1710,6 +1715,6 @@
!JavaClass class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.85 1998/11/05 19:13:22 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.86 1998/11/10 00:17:42 cg Exp $'
! !
JavaClass initialize!
--- a/JavaMethodref.st Thu Nov 05 19:23:38 1998 +0000
+++ b/JavaMethodref.st Tue Nov 10 00:17:42 1998 +0000
@@ -96,43 +96,9 @@
!
method
- |nm sig mthd cls|
-
- method notNil ifTrue:[^ method].
-
- 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'.
-"/ ].
+ ^ self resolveMethod
- sel isNil ifTrue:[
- nm := nameandType name asSymbol.
- sig := nameandType signature.
- sel := (nm , sig) asSymbol.
- ].
-
-"/ 'search in: ' print. class fullName print. ' for ' print. nm print. ' sig: ' print. sig printNL.
-
- mthd := class compiledMethodAt:sel.
- mthd isNil ifTrue:[
-"/ self halt:'no method found for: ' , self displayString.
- ^ nil.
-"/ old: ^ self.
- ].
-"/ mthd checkForNOOPMethod.
- ^ mthd
-
- "Modified: / 16.10.1998 / 00:22:59 / cg"
+ "Modified: / 9.11.1998 / 23:42:33 / cg"
!
methodFor:aClass
@@ -183,6 +149,47 @@
^ nil
"Modified: 26.3.1997 / 13:32:39 / cg"
+!
+
+resolveMethod
+ |nm sig mthd cls|
+
+ method notNil ifTrue:[^ method].
+
+ 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'.
+"/ ].
+
+ sel isNil ifTrue:[
+ nm := nameandType name asSymbol.
+ sig := nameandType signature.
+ sel := (nm , sig) asSymbol.
+ ].
+
+"/ 'search in: ' print. class fullName print. ' for ' print. nm print. ' sig: ' print. sig printNL.
+
+ mthd := class compiledMethodAt:sel.
+ mthd isNil ifTrue:[
+"/ self halt:'no method found for: ' , self displayString.
+ ^ nil.
+"/ old: ^ self.
+ ].
+"/ mthd checkForNOOPMethod.
+ ^ mthd
+
+ "Modified: / 16.10.1998 / 00:22:59 / cg"
+ "Created: / 9.11.1998 / 23:42:20 / cg"
! !
!JavaMethodref methodsFor:'special'!
@@ -198,5 +205,5 @@
!JavaMethodref class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.32 1998/10/17 12:48:19 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethodref.st,v 1.33 1998/11/10 00:16:01 cg Exp $'
! !