class: JavaNativeMethod
authorClaus Gittinger <cg@exept.de>
Tue, 26 Feb 2013 00:30:26 +0100
changeset 2426 d302dc873c0c
parent 2425 424deefe5cd7
child 2427 13c9b3181ded
class: JavaNativeMethod changed: #numberOfArgs:
JavaNativeMethod.st
--- a/JavaNativeMethod.st	Mon Feb 25 20:38:21 2013 +0100
+++ b/JavaNativeMethod.st	Tue Feb 26 00:30:26 2013 +0100
@@ -20,7 +20,7 @@
 "
 "{ Package: 'stx:libjava' }"
 
-JavaMethodWithHandler subclass:#JavaNativeMethod
+JavaMethodWithHandler variableSubclass:#JavaNativeMethod
 	instanceVariableNames:'nativeImplementation nCalls'
 	classVariableNames:'CacheNativeImplementation Verbose TrampolineSelectors'
 	poolDictionaries:''
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !JavaNativeMethod class methodsFor:'initialization'!
 
 cacheNativeImplementation
@@ -120,7 +119,6 @@
     "Modified: / 31-01-2013 / 14:40:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod class methodsFor:'instance creation'!
 
 new
@@ -132,7 +130,6 @@
     "Created: / 31-01-2013 / 13:26:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod class methodsFor:'cleanup'!
 
 flushAllCachedNativeMethods
@@ -148,7 +145,6 @@
     "Modified: / 24.12.1999 / 03:10:51 / cg"
 ! !
 
-
 !JavaNativeMethod methodsFor:'accessing'!
 
 nCalls
@@ -199,7 +195,6 @@
     "Created: / 17-12-2010 / 10:34:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod methodsFor:'private'!
 
 compileNativeImplementation: sel dispatchingTo: oldSel
@@ -415,7 +410,6 @@
     "Modified: / 12-02-2013 / 15:26:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod methodsFor:'private-compiler interface'!
 
 numberOfArgs:aNumber
@@ -435,6 +429,10 @@
         self error: 'Cannot install trampoline - no selector yet'.
         ^self.
     ].
+    MethodNode isNil ifTrue:[
+        self error: 'Cannot install trampoline - no MethodNode class'.
+        ^self.
+    ].
 
     "Create the trampoline"
     args := (1 to: aNumber) collect:[:i|(VariableNode methodArgumentNamed: ('arg_' , i printString)) index: i].
@@ -464,7 +462,6 @@
     "Modified: / 12-02-2013 / 15:28:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod methodsFor:'private-trampolines'!
 
 trampolineUncached
@@ -563,7 +560,6 @@
     "Created: / 31-01-2013 / 12:56:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod methodsFor:'vm support'!
 
 nativeMethodInvokation
@@ -623,20 +619,19 @@
     "Modified: / 21-01-2013 / 17:35:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaNativeMethod class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.13 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.14 2013-02-25 23:30:26 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.13 2013-02-25 11:15:31 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaNativeMethod.st,v 1.14 2013-02-25 23:30:26 cg Exp $'
 !
 
 version_HG
 
-    ^ '$Changeset: <not expanded> $'
+    ^ '§Changeset: <not expanded> §'
 !
 
 version_SVN