--- a/JavaArray.st Fri Feb 14 14:27:26 2014 +0100
+++ b/JavaArray.st Wed Jan 28 03:12:08 2015 +0100
@@ -1,9 +1,9 @@
"
- COPYRIGHT (c) 1996-2011 by Claus Gittinger
+ COPYRIGHT (c) 1996-2015 by Claus Gittinger
New code and modifications done at SWING Research Group [1]:
- COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+ COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
SWING Research Group, Czech Technical University in Prague
This software is furnished under a license and may be used
@@ -20,7 +20,7 @@
"
"{ Package: 'stx:libjava' }"
-Array variableSubclass:#JavaArray
+Array subclass:#JavaArray
instanceVariableNames:''
classVariableNames:''
poolDictionaries:''
@@ -38,11 +38,11 @@
copyright
"
- COPYRIGHT (c) 1996-2011 by Claus Gittinger
+ COPYRIGHT (c) 1996-2015 by Claus Gittinger
New code and modifications done at SWING Research Group [1]:
- COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+ COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
SWING Research Group, Czech Technical University in Prague
This software is furnished under a license and may be used
@@ -207,7 +207,7 @@
cls flags: (JavaArray flags bitOr:Behavior flagJavaArray).
cls instSize: JavaArray instSize.
cls setComponentClass: aJavaClass.
- cls setName: (aJavaClass name , '[]') asSymbol.
+ cls setName: ((aJavaClass isJavaClass ifTrue:[aJavaClass binaryName] ifFalse:[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.
@@ -218,7 +218,7 @@
"
"Created: / 17-12-2010 / 13:45:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 05-07-2012 / 23:23:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 08-10-2013 / 23:02:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaArray class methodsFor:'queries'!
@@ -241,6 +241,17 @@
"Modified: / 19-12-2010 / 16:45:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+isCloneable
+ "Return true, if the receiver implements java.lang.Cloneable,
+ i.e., if it can be cloned using Object#clone().
+
+ Java arrays are cloneable"
+
+ ^ true
+
+ "Created: / 12-11-2013 / 01:05:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
isFinal
"return true, if the receiver is final
(i.e. may not be subclassed)"
@@ -314,10 +325,44 @@
"Created: / 21-12-2010 / 12:51:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
+!JavaArray methodsFor:'vm support'!
+
+_ARRAYLENGTH: cls
+ ^self basicSize
+
+ "Created: / 14-05-2013 / 10:10:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_CHECKCAST: cls
+ JavaVM _CHECKCAST: self _: cls.
+%{
+ void ___checkcast_bind();
+ ___checkcast_bind(__pilc, __Class(self));
+
+%}.
+ ^self
+
+ "Created: / 14-05-2013 / 10:09:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_INSTANCEOF: cls
+ | r |
+
+ r := JavaVM _INSTANCEOF: self _: cls.
+%{
+ void ___instanceof_bind();
+ ___instanceof_bind(__pilc, __Class(self), r);
+
+%}.
+ ^r
+
+ "Created: / 14-05-2013 / 10:09:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!JavaArray class methodsFor:'documentation'!
version_CVS
- ^ '$Header: /cvs/stx/stx/libjava/JavaArray.st,v 1.6 2013-09-06 00:41:12 vrany Exp $'
+ ^ '$Header: /cvs/stx/stx/libjava/JavaArray.st,v 1.7 2015-01-28 02:10:49 vrany Exp $'
!
version_HG