Array.st
branchjv
changeset 18334 3e18bee23c3a
parent 18315 e678ab267382
parent 18330 4a40efb10158
child 18409 48ddd376a992
--- a/Array.st	Wed May 06 06:59:44 2015 +0200
+++ b/Array.st	Sun May 10 07:10:08 2015 +0100
@@ -1888,11 +1888,11 @@
     "return true if the receiver or recursively any array element in the
      receiver refers to aLiteral (i.e. a deep search)"
 
-    self do: [ :el |
-	el == aLiteral ifTrue:[^true].
-	el class == Array ifTrue:[
-	    (el refersToLiteral: aLiteral) ifTrue: [^true]
-	]
+    self do:[:el |
+        el == aLiteral ifTrue:[^true].
+        (el class == Array or:[el class == ImmutableArray]) ifTrue:[
+            (el refersToLiteral: aLiteral) ifTrue: [^true]
+        ]
     ].
     ^ false
 
@@ -1910,10 +1910,10 @@
      receiver is symbolic and matches aMatchPattern (i.e. a deep search)"
 
     self do:[ :el |
-	(el isSymbol and:[ aMatchPattern match: el]) ifTrue:[^true].
-	el class == Array ifTrue:[
-	    (el refersToLiteralMatching: aMatchPattern) ifTrue: [^true]
-	]
+        (el isSymbol and:[ aMatchPattern match: el]) ifTrue:[^true].
+        (el class == Array or:[el class == ImmutableArray]) ifTrue:[
+            (el refersToLiteralMatching: aMatchPattern) ifTrue: [^true]
+        ]
     ].
     ^ false
 
@@ -2648,7 +2648,6 @@
     "/ no, simply returning true here is a mistake:
     "/ it could be a subclass of Array
     "/ (of which the compiler does not know at all ...)
-
     self class == Array ifFalse:[^ false].
 
     "/
@@ -2687,9 +2686,10 @@
 !Array class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.170 2015-05-03 12:38:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.171 2015-05-08 10:29:19 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.170 2015-05-03 12:38:00 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Array.st,v 1.171 2015-05-08 10:29:19 cg Exp $'
 ! !
+