ByteArray.st
changeset 20137 b89a5898c3d2
parent 20071 1c3164fc850f
child 20143 c64b16f62536
child 20306 07ff17265c6b
--- a/ByteArray.st	Mon Jul 11 14:58:08 2016 +0200
+++ b/ByteArray.st	Tue Jul 12 18:38:25 2016 +0200
@@ -1205,6 +1205,25 @@
     "
 !
 
+asString
+    "speed up string conversions"
+
+    |size cls|
+
+    cls := self class.
+
+    (cls == ByteArray or:[cls == ImmutableByteArray]) ifTrue:[
+        size := self size.
+        ^ (String uninitializedNew:size) replaceBytesFrom:1 to:size with:self startingAt:1.
+    ].
+    ^ super asString.
+
+    "
+      #[16r41 16r42 16r43] asString
+      #[16r41 16r42 16r43] asImmutableByteArray asString
+    "
+!
+
 beImmutable
     "make myself write-protected"