--- a/ArrayedCollection.st Sat Apr 21 17:23:45 2012 +0200
+++ b/ArrayedCollection.st Sat Apr 21 17:45:38 2012 +0200
@@ -12,10 +12,10 @@
"{ Package: 'stx:libbasic' }"
SequenceableCollection subclass:#ArrayedCollection
- instanceVariableNames:''
- classVariableNames:''
- poolDictionaries:''
- category:'Collections-Abstract'
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Collections-Abstract'
!
!ArrayedCollection class methodsFor:'documentation'!
@@ -358,12 +358,11 @@
"return a new instance of the receivers species with size
nilled elements and any named instance variables copied."
- "special case for Array, which has no named instance vars"
+ "Performance optimization for classes like Array, String, ...,
+ which have no named instance vars"
- |cls|
-
- (cls := self class) instSize == 0 ifTrue:[
- ^ cls new:size
+ self class instSize == 0 ifTrue:[
+ ^ self species new:size
].
^ super copyEmptyAndGrow:size
! !
@@ -384,6 +383,7 @@
"Modified: 18.7.1996 / 21:39:09 / cg"
! !
+
!ArrayedCollection methodsFor:'printing & storing'!
storeOn:aStream
@@ -502,5 +502,5 @@
!ArrayedCollection class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.62 2012-03-08 20:29:30 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ArrayedCollection.st,v 1.63 2012-04-21 15:45:38 stefan Exp $'
! !