--- a/src/JavaArray.st Thu Jul 05 18:48:34 2012 +0000
+++ b/src/JavaArray.st Thu Jul 05 22:28:28 2012 +0000
@@ -175,24 +175,27 @@
javaArrayClassFor: aJavaClass
| meta cls |
- meta := Metaclass new.
- meta setSuperclass: JavaArray class.
- meta instSize: JavaArray class instSize.
- cls := meta new.
- cls setSuperclass: JavaArray.
- cls flags: JavaArray flags.
- cls instSize: JavaArray instSize.
- cls setComponentClass: aJavaClass.
- cls setName: (aJavaClass name , '[]') asSymbol.
- "Kludge, spec says" "All methods of class Object may be invoked on an array."
- cls setMethodDictionary: (JavaVM classForName: 'java.lang.Object')
- methodDictionary.
- ^ cls
+ ^JavaVM arrayClassFor: aJavaClass ifAbsentPut:[
+ meta := Metaclass new.
+ meta setSuperclass: JavaArray class.
+ meta instSize: JavaArray class instSize.
+ cls := meta new.
+ cls setSuperclass: JavaArray.
+ cls flags: JavaArray flags.
+ cls instSize: JavaArray instSize.
+ cls setComponentClass: aJavaClass.
+ cls setName: (aJavaClass name , '[]') asSymbol.
+ "Kludge, spec says" "All methods of class Object may be invoked on an array."
+ cls setMethodDictionary: (JavaVM classForName: 'java.lang.Object')
+ methodDictionary.
+ cls
+ ]
+ "
+ JavaArray javaArrayClassFor: Object
+ "
- "
- JavaArray javaArrayClassFor: Object"
"Created: / 17-12-2010 / 13:45:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 01-03-2011 / 14:55:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 05-07-2012 / 23:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaArray class methodsFor:'queries'!