]> granicus.if.org Git - php/commitdiff
- Make use of get_debug_info() handler in ArrayObject/Iterator
authorMarcus Boerger <helly@php.net>
Sat, 20 Jan 2007 14:03:59 +0000 (14:03 +0000)
committerMarcus Boerger <helly@php.net>
Sat, 20 Jan 2007 14:03:59 +0000 (14:03 +0000)
19 files changed:
ext/spl/spl_array.c
ext/spl/tests/array_001.phpt
ext/spl/tests/array_002.phpt
ext/spl/tests/array_003.phpt
ext/spl/tests/array_007.phpt
ext/spl/tests/array_015.phpt
ext/spl/tests/array_017.phpt
ext/spl/tests/array_018.phpt
ext/spl/tests/array_022.phpt
ext/spl/tests/bug33136.phpt
ext/spl/tests/iterator_042.phpt
ext/spl/tests/iterator_049.phpt
ext/spl/tests/iterator_049b.phpt
ext/spl/tests/iterator_050.phpt
ext/spl/tests/iterator_051.phpt
ext/spl/tests/iterator_052.phpt
ext/spl/tests/iterator_053.phpt
ext/spl/tests/iterator_054.phpt
ext/spl/tests/iterator_055.phpt

index 57372eadc5e2dca9350a638f86631f91f5bbfd9f..e50017128835b410c1fe8a0513f88c964383f5c7 100755 (executable)
@@ -624,6 +624,60 @@ static HashTable *spl_array_get_properties(zval *object TSRMLS_DC) /* {{{ */
        return spl_array_get_hash_table(intern, 1 TSRMLS_CC);
 } /* }}} */
 
+static HashTable* spl_array_get_debug_info(zval *obj, int *is_temp TSRMLS_DC) /* {{{ */
+{
+       spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(obj TSRMLS_CC);
+       HashTable *rv;
+       zval *tmp, *storage;
+       int name_len, class_len, prop_len;
+       zstr zname, zclass, zprop;
+
+       if (HASH_OF(intern->array) == intern->std.properties) {
+               *is_temp = 0;
+               return intern->std.properties;
+       } else {
+               *is_temp = 1;
+       
+               ALLOC_HASHTABLE(rv);
+               ZEND_INIT_SYMTABLE_EX(rv, zend_hash_num_elements(intern->std.properties) + 1, 0);
+       
+               zend_hash_copy(rv, intern->std.properties, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
+       
+               //MAKE_STD_ZVAL(storage);
+               //array_init(storage);
+               //spl_instantiate(zend_standard_class_def, &storage, 1 TSRMLS_CC);
+               //zend_hash_copy(HASH_OF(storage), HASH_OF(intern->array), (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
+               storage = intern->array;
+               zval_add_ref(&storage);
+       
+               if (Z_OBJ_HT_P(obj) == &spl_handler_ArrayIterator) {
+                       zclass.s = "ArrayIterator";
+                       class_len = sizeof("ArrayIterator") - 1;
+               } else {
+                       zclass.s = "ArrayObject";
+                       class_len = sizeof("ArrayObject") - 1;
+               }
+               zprop.s = "storage";
+               prop_len = sizeof("storage") - 1;
+               if (UG(unicode)) {
+                       zclass.u = zend_ascii_to_unicode(zclass.s, class_len + 1 ZEND_FILE_LINE_CC);
+                       zprop.u = zend_ascii_to_unicode(zprop.s, prop_len + 1 ZEND_FILE_LINE_CC);
+                       zend_u_mangle_property_name(&zname, &name_len, IS_UNICODE, zclass, class_len, zprop, prop_len, 0);
+                       zend_u_symtable_update(rv, IS_UNICODE, zname, name_len+1, &storage, sizeof(zval *), NULL);
+                       efree(zname.v);
+                       efree(zclass.v);
+                       efree(zprop.v);
+               } else {
+                       zend_mangle_property_name(&zname.s, &name_len, zclass.s, class_len, zprop.s, prop_len, 0);
+                       zend_symtable_update(rv, zname.s, name_len+1, &storage, sizeof(zval *), NULL);
+                       efree(zname.v);
+               }
+       
+               return rv;
+       }
+}
+/* }}} */
+
 static zval *spl_array_read_property(zval *object, zval *member, int type TSRMLS_DC) /* {{{ */
 {
        spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC);
@@ -1512,6 +1566,7 @@ PHP_MINIT_FUNCTION(spl_array)
        spl_handler_ArrayObject.count_elements = spl_array_object_count_elements;
 
        spl_handler_ArrayObject.get_properties = spl_array_get_properties;
+       spl_handler_ArrayObject.get_debug_info = spl_array_get_debug_info;
        spl_handler_ArrayObject.read_property = spl_array_read_property;
        spl_handler_ArrayObject.write_property = spl_array_write_property;
        spl_handler_ArrayObject.get_property_ptr_ptr = spl_array_get_property_ptr_ptr;
index 8ddfdc67c6d65a39c3d83b9ce491f507ab80f43e..3945b89b9cbd92fe9fd0b4ed85ef1129781874e9 100755 (executable)
@@ -38,11 +38,14 @@ var_dump($ar);
 ===DONE===
 <?php exit(0); ?>
 --EXPECTF--
-object(ArrayObject)#1 (2) {
-  [0]=>
-  int(0)
-  [1]=>
-  int(1)
+object(ArrayObject)#1 (1) {
+  ["storage":"ArrayObject":private]=>
+  array(2) {
+    [0]=>
+    int(0)
+    [1]=>
+    int(1)
+  }
 }
 int(2)
 int(3)
@@ -61,17 +64,20 @@ array(6) {
   int(5)
 }
 string(1) "a"
-object(ArrayObject)#1 (5) {
-  [0]=>
-  int(0)
-  [1]=>
-  int(1)
-  [2]=>
-  int(2)
-  [3]=>
-  int(3)
-  ["a"]=>
-  string(1) "a"
+object(ArrayObject)#1 (1) {
+  ["storage":"ArrayObject":private]=>
+  array(5) {
+    [0]=>
+    int(0)
+    [1]=>
+    int(1)
+    [2]=>
+    int(2)
+    [3]=>
+    int(3)
+    ["a"]=>
+    string(1) "a"
+  }
 }
 int(0)
 
@@ -84,29 +90,38 @@ NULL
 Notice: Undefined offset:  7 in %sarray_001.php on line %d
 
 Notice: Undefined index:  c in %sarray_001.php on line %d
-object(ArrayObject)#1 (2) {
-  [0]=>
-  int(0)
-  [2]=>
-  int(2)
+object(ArrayObject)#1 (1) {
+  ["storage":"ArrayObject":private]=>
+  array(2) {
+    [0]=>
+    int(0)
+    [2]=>
+    int(2)
+  }
 }
-object(ArrayObject)#1 (4) {
-  [0]=>
-  int(0)
-  [2]=>
-  int(2)
-  [4]=>
-  string(1) "3"
-  [5]=>
-  int(4)
+object(ArrayObject)#1 (1) {
+  ["storage":"ArrayObject":private]=>
+  array(4) {
+    [0]=>
+    int(0)
+    [2]=>
+    int(2)
+    [4]=>
+    string(1) "3"
+    [5]=>
+    int(4)
+  }
 }
 ===DONE===
 --UEXPECTF--
-object(ArrayObject)#1 (2) {
-  [0]=>
-  int(0)
-  [1]=>
-  int(1)
+object(ArrayObject)#1 (1) {
+  [u"storage":u"ArrayObject":private]=>
+  array(2) {
+    [0]=>
+    int(0)
+    [1]=>
+    int(1)
+  }
 }
 int(2)
 int(3)
@@ -125,17 +140,20 @@ array(6) {
   int(5)
 }
 unicode(1) "a"
-object(ArrayObject)#1 (5) {
-  [0]=>
-  int(0)
-  [1]=>
-  int(1)
-  [2]=>
-  int(2)
-  [3]=>
-  int(3)
-  [u"a"]=>
-  unicode(1) "a"
+object(ArrayObject)#1 (1) {
+  [u"storage":u"ArrayObject":private]=>
+  array(5) {
+    [0]=>
+    int(0)
+    [1]=>
+    int(1)
+    [2]=>
+    int(2)
+    [3]=>
+    int(3)
+    [u"a"]=>
+    unicode(1) "a"
+  }
 }
 int(0)
 
@@ -148,20 +166,26 @@ NULL
 Notice: Undefined offset:  7 in %sarray_001.php on line %d
 
 Notice: Undefined index:  c in %sarray_001.php on line %d
-object(ArrayObject)#1 (2) {
-  [0]=>
-  int(0)
-  [2]=>
-  int(2)
+object(ArrayObject)#1 (1) {
+  [u"storage":u"ArrayObject":private]=>
+  array(2) {
+    [0]=>
+    int(0)
+    [2]=>
+    int(2)
+  }
 }
-object(ArrayObject)#1 (4) {
-  [0]=>
-  int(0)
-  [2]=>
-  int(2)
-  [4]=>
-  unicode(1) "3"
-  [5]=>
-  int(4)
+object(ArrayObject)#1 (1) {
+  [u"storage":u"ArrayObject":private]=>
+  array(4) {
+    [0]=>
+    int(0)
+    [2]=>
+    int(2)
+    [4]=>
+    unicode(1) "3"
+    [5]=>
+    int(4)
+  }
 }
 ===DONE===
index 122953c9750bd94729e1e186887f83f6051df6c0..d581cb9f0b6caa73b03426c78d46a68ff2b5ed89 100755 (executable)
@@ -22,30 +22,42 @@ var_dump($arrayObject);
 ===DONE===
 <?php exit(0); ?>
 --EXPECTF--
-object(ArrayObject)#%d (5) {
-  [1]=>
-  string(3) "one"
-  [2]=>
-  string(3) "two"
-  [3]=>
-  string(5) "three"
-  [4]=>
-  string(4) "four"
-  [5]=>
-  string(4) "five"
+object(ArrayObject)#%d (1) {
+  ["storage":"ArrayObject":private]=>
+  object(ArrayObject)#1 (1) {
+    ["storage":"ArrayObject":private]=>
+    array(5) {
+      [1]=>
+      string(3) "one"
+      [2]=>
+      string(3) "two"
+      [3]=>
+      string(5) "three"
+      [4]=>
+      string(4) "four"
+      [5]=>
+      string(4) "five"
+    }
+  }
 }
 ===DONE===
 --UEXPECTF--
-object(ArrayObject)#%d (5) {
-  [1]=>
-  unicode(3) "one"
-  [2]=>
-  unicode(3) "two"
-  [3]=>
-  unicode(5) "three"
-  [4]=>
-  unicode(4) "four"
-  [5]=>
-  unicode(4) "five"
+object(ArrayObject)#%d (1) {
+  [u"storage":u"ArrayObject":private]=>
+  object(ArrayObject)#1 (1) {
+    [u"storage":u"ArrayObject":private]=>
+    array(5) {
+      [1]=>
+      unicode(3) "one"
+      [2]=>
+      unicode(3) "two"
+      [3]=>
+      unicode(5) "three"
+      [4]=>
+      unicode(4) "four"
+      [5]=>
+      unicode(4) "five"
+    }
+  }
 }
 ===DONE===
index f0ddb791c697164d88f04418043e0465708fb790..a7f44e1ca3769f289f37be509c331e7161c939ef 100755 (executable)
@@ -49,11 +49,15 @@ test Object
 )
 ArrayObject Object
 (
-    [pub] => public
-    [pro:protected] => protected
-    [pri:test:private] => private
-    [imp] => implicit
-    [dyn] => dynamic
+    [storage:ArrayObject:private] => test Object
+        (
+            [pub] => public
+            [pro:protected] => protected
+            [pri:test:private] => private
+            [imp] => implicit
+            [dyn] => dynamic
+        )
+
 )
 pub => public
 imp => implicit
index 645794e24e2abec30edd107531061a52dd5d610d..269d71cb6ec15761f7b185730f4d8f30d9d4b12d 100755 (executable)
@@ -53,11 +53,19 @@ test Object
 )
 ArrayIterator Object
 (
-    [pub] => public
-    [pro:protected] => protected
-    [pri:test:private] => private
-    [imp] => implicit
-    [dyn] => dynamic
+    [storage:ArrayIterator:private] => ArrayObject Object
+        (
+            [storage:ArrayObject:private] => test Object
+                (
+                    [pub] => public
+                    [pro:protected] => protected
+                    [pri:test:private] => private
+                    [imp] => implicit
+                    [dyn] => dynamic
+                )
+
+        )
+
 )
 pub => public
 imp => implicit
index 79d6a867f0fb10c3616bbb68dbc4fefef6e6cf2b..a21bab53448182ded148355663e69ae68e289490 100755 (executable)
@@ -43,38 +43,47 @@ var_dump($ar);
 ===DONE===
 <?php exit(0); ?>
 --EXPECTF--
-object(ArrayObject)#%d (5) {
-  [0]=>
-  int(1)
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-  [3]=>
-  int(4)
-  [4]=>
-  int(5)
+object(ArrayObject)#%d (1) {
+  %s"storage"%s"ArrayObject":private]=>
+  array(5) {
+    [0]=>
+    int(1)
+    [1]=>
+    int(2)
+    [2]=>
+    int(3)
+    [3]=>
+    int(4)
+    [4]=>
+    int(5)
+  }
 }
 
 Notice: ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
 int(2)
-object(ArrayObject)#%d (4) {
-  [1]=>
-  int(2)
-  [2]=>
-  int(3)
-  [3]=>
-  int(4)
-  [4]=>
-  int(5)
+object(ArrayObject)#%d (1) {
+  %s"storage"%s"ArrayObject":private]=>
+  array(4) {
+    [1]=>
+    int(2)
+    [2]=>
+    int(3)
+    [3]=>
+    int(4)
+    [4]=>
+    int(5)
+  }
 }
 1=>2
 3=>4
-object(ArrayObject)#%d (2) {
-  [1]=>
-  int(2)
-  [3]=>
-  int(4)
+object(ArrayObject)#%d (1) {
+  %s"storage"%s"ArrayObject":private]=>
+  array(2) {
+    [1]=>
+    int(2)
+    [3]=>
+    int(4)
+  }
 }
 1=>2
 
@@ -82,6 +91,9 @@ Notice: main(): ArrayIterator::next(): Array was modified outside object and int
 3=>4
 
 Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_015.php on line %d
-object(ArrayObject)#%d (0) {
+object(ArrayObject)#%d (1) {
+  %s"storage"%s"ArrayObject":private]=>
+  array(0) {
+  }
 }
 ===DONE===
index d145433834720fb8793e1368160a515afba8bf6e..4ffe283d093844908a1f45b0ca16dd5fb6232fec 100755 (executable)
@@ -148,13 +148,26 @@ array(3) {
     int(42)
   }
   ["$this"]=>
-  object(ArrayObjectEx)#1 (3) {
-    [0]=>
-    int(1)
-    ["a"]=>
-    int(25)
+  object(ArrayObjectEx)#%d (6) {
     ["pub1"]=>
-    int(42)
+    int(1)
+    ["pro1":protected]=>
+    int(2)
+    ["pri1":"ArrayObjectEx":private]=>
+    int(3)
+    ["imp1"]=>
+    int(4)
+    ["dyn1"]=>
+    int(5)
+    ["storage":"ArrayObject":private]=>
+    array(3) {
+      [0]=>
+      int(1)
+      ["a"]=>
+      int(25)
+      ["pub1"]=>
+      int(42)
+    }
   }
 }
 ArrayObjectEx::show()
@@ -172,13 +185,39 @@ array(3) {
     int(42)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#2 (3) {
-    [0]=>
+  object(ArrayIteratorEx)#%d (6) {
+    ["pub2"]=>
     int(1)
-    ["a"]=>
-    int(25)
-    ["pub1"]=>
-    int(42)
+    ["pro2":protected]=>
+    int(2)
+    ["pri2":"ArrayIteratorEx":private]=>
+    int(3)
+    ["imp2"]=>
+    int(4)
+    ["dyn2"]=>
+    int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+      ["storage":"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        ["a"]=>
+        int(25)
+        ["pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -208,13 +247,39 @@ array(3) {
     int(42)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#3 (3) {
-    [0]=>
+  object(ArrayIteratorEx)#%d (6) {
+    ["pub2"]=>
     int(1)
-    ["a"]=>
-    int(25)
-    ["pub1"]=>
-    int(42)
+    ["pro2":protected]=>
+    int(2)
+    ["pri2":"ArrayIteratorEx":private]=>
+    int(3)
+    ["imp2"]=>
+    int(4)
+    ["dyn2"]=>
+    int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+      ["storage":"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        ["a"]=>
+        int(25)
+        ["pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -260,7 +325,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayObjectEx)#1 (5) {
+  object(ArrayObjectEx)#%d (6) {
     ["pub1"]=>
     int(1)
     ["pro1":protected]=>
@@ -271,6 +336,15 @@ array(3) {
     int(4)
     ["dyn1"]=>
     int(5)
+    ["storage":"ArrayObject":private]=>
+    array(3) {
+      [0]=>
+      int(1)
+      ["a"]=>
+      int(25)
+      ["pub1"]=>
+      int(42)
+    }
   }
 }
 ArrayObjectEx::show()
@@ -294,7 +368,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#3 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     ["pub2"]=>
     int(1)
     ["pro2":protected]=>
@@ -305,6 +379,28 @@ array(3) {
     int(4)
     ["dyn2"]=>
     int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+      ["storage":"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        ["a"]=>
+        int(25)
+        ["pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -340,7 +436,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#2 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     ["pub2"]=>
     int(1)
     ["pro2":protected]=>
@@ -351,6 +447,28 @@ array(3) {
     int(4)
     ["dyn2"]=>
     int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+      ["storage":"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        ["a"]=>
+        int(25)
+        ["pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -398,7 +516,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayObjectEx)#1 (5) {
+  object(ArrayObjectEx)#%d (5) {
     ["pub1"]=>
     int(1)
     ["pro1":protected]=>
@@ -430,17 +548,30 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#2 (5) {
-    ["pub1"]=>
+  object(ArrayIteratorEx)#%d (6) {
+    ["pub2"]=>
     int(1)
-    ["pro1":protected]=>
+    ["pro2":protected]=>
     int(2)
-    ["pri1":"ArrayObjectEx":private]=>
+    ["pri2":"ArrayIteratorEx":private]=>
     int(3)
-    ["imp1"]=>
+    ["imp2"]=>
     int(4)
-    ["dyn1"]=>
+    ["dyn2"]=>
     int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -474,17 +605,30 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#3 (5) {
-    ["pub1"]=>
+  object(ArrayIteratorEx)#%d (6) {
+    ["pub2"]=>
     int(1)
-    ["pro1":protected]=>
+    ["pro2":protected]=>
     int(2)
-    ["pri1":"ArrayObjectEx":private]=>
+    ["pri2":"ArrayIteratorEx":private]=>
     int(3)
-    ["imp1"]=>
+    ["imp2"]=>
     int(4)
-    ["dyn1"]=>
+    ["dyn2"]=>
     int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -530,7 +674,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayObjectEx)#1 (5) {
+  object(ArrayObjectEx)#%d (5) {
     ["pub1"]=>
     int(1)
     ["pro1":protected]=>
@@ -564,7 +708,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#3 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     ["pub2"]=>
     int(1)
     ["pro2":protected]=>
@@ -575,6 +719,19 @@ array(3) {
     int(4)
     ["dyn2"]=>
     int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -610,7 +767,7 @@ array(3) {
     int(5)
   }
   ["$this"]=>
-  object(ArrayIteratorEx)#2 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     ["pub2"]=>
     int(1)
     ["pro2":protected]=>
@@ -621,6 +778,19 @@ array(3) {
     int(4)
     ["dyn2"]=>
     int(5)
+    ["storage":"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      ["pub1"]=>
+      int(1)
+      ["pro1":protected]=>
+      int(2)
+      ["pri1":"ArrayObjectEx":private]=>
+      int(3)
+      ["imp1"]=>
+      int(4)
+      ["dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -663,13 +833,26 @@ array(3) {
     int(42)
   }
   [u"$this"]=>
-  object(ArrayObjectEx)#1 (3) {
-    [0]=>
-    int(1)
-    [u"a"]=>
-    int(25)
+  object(ArrayObjectEx)#%d (6) {
     [u"pub1"]=>
-    int(42)
+    int(1)
+    [u"pro1":protected]=>
+    int(2)
+    [u"pri1":u"ArrayObjectEx":private]=>
+    int(3)
+    [u"imp1"]=>
+    int(4)
+    [u"dyn1"]=>
+    int(5)
+    [u"storage":u"ArrayObject":private]=>
+    array(3) {
+      [0]=>
+      int(1)
+      [u"a"]=>
+      int(25)
+      [u"pub1"]=>
+      int(42)
+    }
   }
 }
 ArrayObjectEx::show()
@@ -687,13 +870,39 @@ array(3) {
     int(42)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#2 (3) {
-    [0]=>
+  object(ArrayIteratorEx)#%d (6) {
+    [u"pub2"]=>
     int(1)
-    [u"a"]=>
-    int(25)
-    [u"pub1"]=>
-    int(42)
+    [u"pro2":protected]=>
+    int(2)
+    [u"pri2":u"ArrayIteratorEx":private]=>
+    int(3)
+    [u"imp2"]=>
+    int(4)
+    [u"dyn2"]=>
+    int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+      [u"storage":u"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        [u"a"]=>
+        int(25)
+        [u"pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -723,13 +932,39 @@ array(3) {
     int(42)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#3 (3) {
-    [0]=>
+  object(ArrayIteratorEx)#%d (6) {
+    [u"pub2"]=>
     int(1)
-    [u"a"]=>
-    int(25)
-    [u"pub1"]=>
-    int(42)
+    [u"pro2":protected]=>
+    int(2)
+    [u"pri2":u"ArrayIteratorEx":private]=>
+    int(3)
+    [u"imp2"]=>
+    int(4)
+    [u"dyn2"]=>
+    int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+      [u"storage":u"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        [u"a"]=>
+        int(25)
+        [u"pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -775,7 +1010,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayObjectEx)#1 (5) {
+  object(ArrayObjectEx)#%d (6) {
     [u"pub1"]=>
     int(1)
     [u"pro1":protected]=>
@@ -786,6 +1021,15 @@ array(3) {
     int(4)
     [u"dyn1"]=>
     int(5)
+    [u"storage":u"ArrayObject":private]=>
+    array(3) {
+      [0]=>
+      int(1)
+      [u"a"]=>
+      int(25)
+      [u"pub1"]=>
+      int(42)
+    }
   }
 }
 ArrayObjectEx::show()
@@ -809,7 +1053,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#3 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     [u"pub2"]=>
     int(1)
     [u"pro2":protected]=>
@@ -820,6 +1064,28 @@ array(3) {
     int(4)
     [u"dyn2"]=>
     int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+      [u"storage":u"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        [u"a"]=>
+        int(25)
+        [u"pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -855,7 +1121,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#2 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     [u"pub2"]=>
     int(1)
     [u"pro2":protected]=>
@@ -866,6 +1132,28 @@ array(3) {
     int(4)
     [u"dyn2"]=>
     int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (6) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+      [u"storage":u"ArrayObject":private]=>
+      array(3) {
+        [0]=>
+        int(1)
+        [u"a"]=>
+        int(25)
+        [u"pub1"]=>
+        int(42)
+      }
+    }
   }
 }
 array(1) {
@@ -913,7 +1201,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayObjectEx)#1 (5) {
+  object(ArrayObjectEx)#%d (5) {
     [u"pub1"]=>
     int(1)
     [u"pro1":protected]=>
@@ -945,17 +1233,30 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#2 (5) {
-    [u"pub1"]=>
+  object(ArrayIteratorEx)#%d (6) {
+    [u"pub2"]=>
     int(1)
-    [u"pro1":protected]=>
+    [u"pro2":protected]=>
     int(2)
-    [u"pri1":u"ArrayObjectEx":private]=>
+    [u"pri2":u"ArrayIteratorEx":private]=>
     int(3)
-    [u"imp1"]=>
+    [u"imp2"]=>
     int(4)
-    [u"dyn1"]=>
+    [u"dyn2"]=>
     int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -989,17 +1290,30 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#3 (5) {
-    [u"pub1"]=>
+  object(ArrayIteratorEx)#%d (6) {
+    [u"pub2"]=>
     int(1)
-    [u"pro1":protected]=>
+    [u"pro2":protected]=>
     int(2)
-    [u"pri1":u"ArrayObjectEx":private]=>
+    [u"pri2":u"ArrayIteratorEx":private]=>
     int(3)
-    [u"imp1"]=>
+    [u"imp2"]=>
     int(4)
-    [u"dyn1"]=>
+    [u"dyn2"]=>
     int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -1045,7 +1359,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayObjectEx)#1 (5) {
+  object(ArrayObjectEx)#%d (5) {
     [u"pub1"]=>
     int(1)
     [u"pro1":protected]=>
@@ -1079,7 +1393,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#3 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     [u"pub2"]=>
     int(1)
     [u"pro2":protected]=>
@@ -1090,6 +1404,19 @@ array(3) {
     int(4)
     [u"dyn2"]=>
     int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
@@ -1125,7 +1452,7 @@ array(3) {
     int(5)
   }
   [u"$this"]=>
-  object(ArrayIteratorEx)#2 (5) {
+  object(ArrayIteratorEx)#%d (6) {
     [u"pub2"]=>
     int(1)
     [u"pro2":protected]=>
@@ -1136,6 +1463,19 @@ array(3) {
     int(4)
     [u"dyn2"]=>
     int(5)
+    [u"storage":u"ArrayIterator":private]=>
+    object(ArrayObjectEx)#%d (5) {
+      [u"pub1"]=>
+      int(1)
+      [u"pro1":protected]=>
+      int(2)
+      [u"pri1":u"ArrayObjectEx":private]=>
+      int(3)
+      [u"imp1"]=>
+      int(4)
+      [u"dyn1"]=>
+      int(5)
+    }
   }
 }
 array(1) {
index 0cb882799555aa04174ebcb79fc5e811eb347ec0..501e740270a194966a8777d24be6b6357af99ee3 100755 (executable)
@@ -34,17 +34,29 @@ var_dump($foo);
 ===DONE===
 --EXPECTF--
 string(44) "An offset must not begin with \0 or be empty"
-object(ArrayObject)#%d (0) {
+object(ArrayObject)#%d (1) {
+  ["storage":"ArrayObject":private]=>
+  array(0) {
+  }
 }
 string(44) "An offset must not begin with \0 or be empty"
-object(ArrayObject)#%d (0) {
+object(ArrayObject)#%d (1) {
+  ["storage":"ArrayObject":private]=>
+  array(0) {
+  }
 }
 ===DONE===
 --UEXPECTF--
 unicode(44) "An offset must not begin with \0 or be empty"
-object(ArrayObject)#%d (0) {
+object(ArrayObject)#%d (1) {
+  [u"storage":u"ArrayObject":private]=>
+  array(0) {
+  }
 }
 unicode(44) "An offset must not begin with \0 or be empty"
-object(ArrayObject)#%d (0) {
+object(ArrayObject)#%d (1) {
+  [u"storage":u"ArrayObject":private]=>
+  array(0) {
+  }
 }
 ===DONE===
index 1067b03bf83b2c9e9c426e0c14111b1da837dabd..f210c090d1657ed53793f81c2b08bd187aa48a2e 100755 (executable)
@@ -52,22 +52,32 @@ object(MyArrayObject)#%d (1) {
   ["bar"]=>
   string(3) "baz"
 }
-object(MyArrayObject)#%d (2) {
+object(MyArrayObject)#%d (3) {
   ["bar"]=>
   string(3) "baz"
   ["baz"]=>
   string(3) "Foo"
+  ["storage":"ArrayObject":private]=>
+  array(1) {
+    ["bar"]=>
+    string(3) "baz"
+  }
 }
 ==ArrayIterator===
 object(MyArrayIterator)#%d (1) {
   ["bar"]=>
   string(3) "baz"
 }
-object(MyArrayIterator)#%d (2) {
+object(MyArrayIterator)#%d (3) {
   ["bar"]=>
   string(3) "baz"
   ["baz"]=>
   string(3) "Foo"
+  ["storage":"ArrayIterator":private]=>
+  object(MyArrayIterator)#%d (1) {
+    ["bar"]=>
+    string(3) "baz"
+  }
 }
 ===DONE===
 --UEXPECTF--
@@ -76,21 +86,31 @@ object(MyArrayObject)#%d (1) {
   [u"bar"]=>
   unicode(3) "baz"
 }
-object(MyArrayObject)#%d (2) {
+object(MyArrayObject)#%d (3) {
   [u"bar"]=>
   unicode(3) "baz"
   [u"baz"]=>
   unicode(3) "Foo"
+  [u"storage":u"ArrayObject":private]=>
+  array(1) {
+    [u"bar"]=>
+    unicode(3) "baz"
+  }
 }
 ==ArrayIterator===
 object(MyArrayIterator)#%d (1) {
   [u"bar"]=>
   unicode(3) "baz"
 }
-object(MyArrayIterator)#%d (2) {
+object(MyArrayIterator)#%d (3) {
   [u"bar"]=>
   unicode(3) "baz"
   [u"baz"]=>
   unicode(3) "Foo"
+  [u"storage":u"ArrayIterator":private]=>
+  object(MyArrayIterator)#%d (1) {
+    [u"bar"]=>
+    unicode(3) "baz"
+  }
 }
 ===DONE===
index f0fe8d41a0a8bc184230186905d0ce6da5a15980..fbb766bae5a56e77b25b83b12ddd6ef19095463e 100755 (executable)
@@ -66,9 +66,20 @@ Collection::offsetGet(foo)
 string(3) "baz"
 Collection Object
 (
-    [0] => foo
-    [1] => bar
-    [foo] => baz
+    [data:Collection:private] => Array
+        (
+            [0] => foo
+            [1] => bar
+            [foo] => baz
+        )
+
+    [storage:ArrayObject:private] => Array
+        (
+            [0] => foo
+            [1] => bar
+            [foo] => baz
+        )
+
 )
 int(3)
 ===DONE===
@@ -88,9 +99,20 @@ Collection::offsetGet(foo)
 unicode(3) "baz"
 Collection Object
 (
-    [0] => foo
-    [1] => bar
-    [foo] => baz
+    [data:Collection:private] => Array
+        (
+            [0] => foo
+            [1] => bar
+            [foo] => baz
+        )
+
+    [storage:ArrayObject:private] => Array
+        (
+            [0] => foo
+            [1] => bar
+            [foo] => baz
+        )
+
 )
 int(3)
 ===DONE===
index 86154506542713b68858bc3a451f1660f7824f82..4f470849af8d858c9664738efb17043558adeb32 100755 (executable)
@@ -40,41 +40,62 @@ foreach($it as $k => $v)
 <?php exit(0); ?>
 --EXPECTF--
 Error Argument 1 passed to AppendIterator::append() must implement interface Iterator, array given in %siterator_042.php on line %d
-object(ArrayIterator)#%d (2) {
-  [0]=>
-  object(ArrayIterator)#%d (1) {
+object(ArrayIterator)#%d (1) {
+  %s"storage"%s"ArrayIterator":private]=>
+  array(2) {
     [0]=>
-    int(1)
-  }
-  [1]=>
-  object(ArrayIterator)#%d (2) {
-    [0]=>
-    int(21)
+    object(ArrayIterator)#%d (1) {
+      %s"storage"%s"ArrayIterator":private]=>
+      array(1) {
+        [0]=>
+        int(1)
+      }
+    }
     [1]=>
-    int(22)
+    object(ArrayIterator)#%d (1) {
+      %s"storage"%s"ArrayIterator":private]=>
+      array(2) {
+        [0]=>
+        int(21)
+        [1]=>
+        int(22)
+      }
+    }
   }
 }
-object(ArrayIterator)#%d (3) {
-  [0]=>
-  object(ArrayIterator)#%d (1) {
-    [0]=>
-    int(1)
-  }
-  [1]=>
-  object(ArrayIterator)#%d (2) {
-    [0]=>
-    int(21)
-    [1]=>
-    int(22)
-  }
-  [2]=>
-  object(ArrayIterator)#5 (3) {
+object(ArrayIterator)#%d (1) {
+  %s"storage"%s"ArrayIterator":private]=>
+  array(3) {
     [0]=>
-    int(31)
+    object(ArrayIterator)#%d (1) {
+      %s"storage"%s"ArrayIterator":private]=>
+      array(1) {
+        [0]=>
+        int(1)
+      }
+    }
     [1]=>
-    int(32)
+    object(ArrayIterator)#%d (1) {
+      %s"storage"%s"ArrayIterator":private]=>
+      array(2) {
+        [0]=>
+        int(21)
+        [1]=>
+        int(22)
+      }
+    }
     [2]=>
-    int(33)
+    object(ArrayIterator)#5 (1) {
+      %s"storage"%s"ArrayIterator":private]=>
+      array(3) {
+        [0]=>
+        int(31)
+        [1]=>
+        int(32)
+        [2]=>
+        int(33)
+      }
+    }
   }
 }
 ===0===
index d9950f12b9e1ce9efa4467588892dc21729073f0..756cdbcec6ddbb1e9a02a07110e81c8255696962 100755 (executable)
@@ -14,8 +14,11 @@ var_dump($ar->getArrayCopy());
 <?php exit(0); ?>
 --EXPECTF--
 object(ArrayIterator)#%d (1) {
-  [""]=>
-  NULL
+  ["storage":"ArrayIterator":private]=>
+  array(1) {
+    [""]=>
+    NULL
+  }
 }
 array(1) {
   [""]=>
@@ -24,8 +27,11 @@ array(1) {
 ===DONE===
 --UEXPECTF--
 object(ArrayIterator)#%d (1) {
-  [u""]=>
-  NULL
+  [u"storage":u"ArrayIterator":private]=>
+  array(1) {
+    [u""]=>
+    NULL
+  }
 }
 array(1) {
   [u""]=>
index 9e5396db22be1cf9c92d04a48402db6c653180a7..4395d9557292274392254049826f14aea23b313e 100755 (executable)
Binary files a/ext/spl/tests/iterator_049b.phpt and b/ext/spl/tests/iterator_049b.phpt differ
index 7ecc534b4d42515750e4d3a31ac789a56c33a79f..5d9d381618fc4f097e30b7c10bdfb547698b3180 100755 (executable)
@@ -69,25 +69,28 @@ array(2) {
   [1]=>
   %s(1) "1"
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  %s(1) "1"
-  [1]=>
-  %s(3) "1,2"
-  [2]=>
-  %s(5) "1,2,3"
-  [3]=>
-  %s(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
+object(ArrayIterator)#%d (1) {
+  %s"storage"%s"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    %s(1) "1"
+    [1]=>
+    %s(3) "1,2"
+    [2]=>
+    %s(5) "1,2,3"
+    [3]=>
+    %s(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    %s(6) "FooBar"
+    [7]=>
+    %s(1) ","
+    [8]=>
+    %s(2) ",,"
   }
-  [6]=>
-  %s(6) "FooBar"
-  [7]=>
-  %s(1) ","
-  [8]=>
-  %s(2) ",,"
 }
 ===DONE===
index 67b566c4ff891e01f6590847705f63755fb84fb0..db5438d04372318bd4625785e8b96568a7015f0a 100755 (executable)
@@ -76,21 +76,24 @@ array(2) {
   [1]=>
   string(1) "0"
 }
-object(ArrayIterator)#%d (7) {
-  [1]=>
-  int(0)
-  ["1,2"]=>
-  int(1)
-  ["1,2,3"]=>
-  int(2)
-  [0]=>
-  int(3)
-  ["FooBar"]=>
-  int(4)
-  [","]=>
-  int(5)
-  [",,"]=>
-  int(6)
+object(ArrayIterator)#%d (1) {
+  ["storage":"ArrayIterator":private]=>
+  array(7) {
+    [1]=>
+    int(0)
+    ["1,2"]=>
+    int(1)
+    ["1,2,3"]=>
+    int(2)
+    [0]=>
+    int(3)
+    ["FooBar"]=>
+    int(4)
+    [","]=>
+    int(5)
+    [",,"]=>
+    int(6)
+  }
 }
 ===DONE===
 --UEXPECTF--
@@ -140,20 +143,23 @@ array(2) {
   [1]=>
   unicode(1) "0"
 }
-object(ArrayIterator)#1 (7) {
-  [1]=>
-  int(0)
-  [u"1,2"]=>
-  int(1)
-  [u"1,2,3"]=>
-  int(2)
-  [0]=>
-  int(3)
-  [u"FooBar"]=>
-  int(4)
-  [u","]=>
-  int(5)
-  [u",,"]=>
-  int(6)
+object(ArrayIterator)#1 (1) {
+  [u"storage":u"ArrayIterator":private]=>
+  array(7) {
+    [1]=>
+    int(0)
+    [u"1,2"]=>
+    int(1)
+    [u"1,2,3"]=>
+    int(2)
+    [0]=>
+    int(3)
+    [u"FooBar"]=>
+    int(4)
+    [u","]=>
+    int(5)
+    [u",,"]=>
+    int(6)
+  }
 }
 ===DONE===
index 1e1ef201aa85cf55b79bc716b3992eb11cce43db..28a55548cac30c96df230a2a0ea04432ef129feb 100755 (executable)
@@ -290,26 +290,29 @@ array(2) {
   array(0) {
   }
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  %s(1) "1"
-  [1]=>
-  %s(3) "1,2"
-  [2]=>
-  %s(5) "1,2,3"
-  [3]=>
-  %s(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
+object(ArrayIterator)#%d (1) {
+  ["storage":"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    %s(1) "1"
+    [1]=>
+    %s(3) "1,2"
+    [2]=>
+    %s(5) "1,2,3"
+    [3]=>
+    %s(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    %s(6) "FooBar"
+    [7]=>
+    %s(1) ","
+    [8]=>
+    %s(2) ",,"
   }
-  [6]=>
-  %s(6) "FooBar"
-  [7]=>
-  %s(1) ","
-  [8]=>
-  %s(2) ",,"
 }
 ===DONE===
 --UEXPECTF--
@@ -556,25 +559,28 @@ array(2) {
   array(0) {
   }
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  unicode(1) "1"
-  [1]=>
-  unicode(3) "1,2"
-  [2]=>
-  unicode(5) "1,2,3"
-  [3]=>
-  unicode(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
-  }
-  [6]=>
-  unicode(6) "FooBar"
-  [7]=>
-  unicode(1) ","
-  [8]=>
-  unicode(2) ",,"
+object(ArrayIterator)#%d (1) {
+  [u"storage":u"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    unicode(1) "1"
+    [1]=>
+    unicode(3) "1,2"
+    [2]=>
+    unicode(5) "1,2,3"
+    [3]=>
+    unicode(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    unicode(6) "FooBar"
+    [7]=>
+    unicode(1) ","
+    [8]=>
+    unicode(2) ",,"
+  }
 }
 ===DONE===
index c64c2aada6db22503e09391d6e9444a0732cd0ff..eda66867348d9e29df0c6cdd4f87d63688353369 100755 (executable)
@@ -290,26 +290,29 @@ array(2) {
     string(1) "8"
   }
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  %s(1) "1"
-  [1]=>
-  %s(3) "1,2"
-  [2]=>
-  %s(5) "1,2,3"
-  [3]=>
-  %s(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
+object(ArrayIterator)#%d (1) {
+  ["storage":"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    %s(1) "1"
+    [1]=>
+    %s(3) "1,2"
+    [2]=>
+    %s(5) "1,2,3"
+    [3]=>
+    %s(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    %s(6) "FooBar"
+    [7]=>
+    %s(1) ","
+    [8]=>
+    %s(2) ",,"
   }
-  [6]=>
-  %s(6) "FooBar"
-  [7]=>
-  %s(1) ","
-  [8]=>
-  %s(2) ",,"
 }
 ===DONE===
 --UEXPECTF--
@@ -556,25 +559,28 @@ array(2) {
     unicode(1) "8"
   }
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  unicode(1) "1"
-  [1]=>
-  unicode(3) "1,2"
-  [2]=>
-  unicode(5) "1,2,3"
-  [3]=>
-  unicode(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
-  }
-  [6]=>
-  unicode(6) "FooBar"
-  [7]=>
-  unicode(1) ","
-  [8]=>
-  unicode(2) ",,"
+object(ArrayIterator)#%d (1) {
+  [u"storage":u"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    unicode(1) "1"
+    [1]=>
+    unicode(3) "1,2"
+    [2]=>
+    unicode(5) "1,2,3"
+    [3]=>
+    unicode(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    unicode(6) "FooBar"
+    [7]=>
+    unicode(1) ","
+    [8]=>
+    unicode(2) ",,"
+  }
 }
 ===DONE===
index 759c61bc8c0744759f9cbd0d60555b44a8f85475..f7039f9b2b7f6965e4f99511474a5ae5fd759614 100755 (executable)
@@ -60,26 +60,29 @@ array(3) {
   [2]=>
   string(0) ""
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  %s(1) "1"
-  [1]=>
-  %s(3) "1,2"
-  [2]=>
-  %s(5) "1,2,3"
-  [3]=>
-  %s(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
+object(ArrayIterator)#%d (1) {
+  ["storage":"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    %s(1) "1"
+    [1]=>
+    %s(3) "1,2"
+    [2]=>
+    %s(5) "1,2,3"
+    [3]=>
+    %s(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    %s(6) "FooBar"
+    [7]=>
+    %s(1) ","
+    [8]=>
+    %s(2) ",,"
   }
-  [6]=>
-  %s(6) "FooBar"
-  [7]=>
-  %s(1) ","
-  [8]=>
-  %s(2) ",,"
 }
 ===DONE===
 --UEXPECTF--
@@ -115,25 +118,28 @@ array(3) {
   [2]=>
   unicode(0) ""
 }
-object(ArrayIterator)#%d (9) {
-  [0]=>
-  unicode(1) "1"
-  [1]=>
-  unicode(3) "1,2"
-  [2]=>
-  unicode(5) "1,2,3"
-  [3]=>
-  unicode(0) ""
-  [4]=>
-  NULL
-  [5]=>
-  array(0) {
+object(ArrayIterator)#%d (1) {
+  [u"storage":u"ArrayIterator":private]=>
+  array(9) {
+    [0]=>
+    unicode(1) "1"
+    [1]=>
+    unicode(3) "1,2"
+    [2]=>
+    unicode(5) "1,2,3"
+    [3]=>
+    unicode(0) ""
+    [4]=>
+    NULL
+    [5]=>
+    array(0) {
+    }
+    [6]=>
+    unicode(6) "FooBar"
+    [7]=>
+    unicode(1) ","
+    [8]=>
+    unicode(2) ",,"
   }
-  [6]=>
-  unicode(6) "FooBar"
-  [7]=>
-  unicode(1) ","
-  [8]=>
-  unicode(2) ",,"
 }
 ===DONE===
index e7854755cc586bbd8ce688671da48d7857c953d3..32ebc8445dc1f7f772e83fdb9416d596a3046274 100755 (executable)
@@ -42,21 +42,24 @@ array(2) {
   [1]=>
   string(2) ",3"
 }
-object(ArrayIterator)#%d (7) {
-  [1]=>
-  int(0)
-  ["1,2"]=>
-  int(1)
-  ["1,2,3"]=>
-  int(2)
-  [0]=>
-  int(3)
-  ["FooBar"]=>
-  int(4)
-  [","]=>
-  int(5)
-  [",,"]=>
-  int(6)
+object(ArrayIterator)#%d (1) {
+  ["storage":"ArrayIterator":private]=>
+  array(7) {
+    [1]=>
+    int(0)
+    ["1,2"]=>
+    int(1)
+    ["1,2,3"]=>
+    int(2)
+    [0]=>
+    int(3)
+    ["FooBar"]=>
+    int(4)
+    [","]=>
+    int(5)
+    [",,"]=>
+    int(6)
+  }
 }
 ===DONE===
 --UEXPECTF--
@@ -74,20 +77,23 @@ array(2) {
   [1]=>
   unicode(2) ",3"
 }
-object(ArrayIterator)#%d (7) {
-  [1]=>
-  int(0)
-  [u"1,2"]=>
-  int(1)
-  [u"1,2,3"]=>
-  int(2)
-  [0]=>
-  int(3)
-  [u"FooBar"]=>
-  int(4)
-  [u","]=>
-  int(5)
-  [u",,"]=>
-  int(6)
+object(ArrayIterator)#%d (1) {
+  [u"storage":u"ArrayIterator":private]=>
+  array(7) {
+    [1]=>
+    int(0)
+    [u"1,2"]=>
+    int(1)
+    [u"1,2,3"]=>
+    int(2)
+    [0]=>
+    int(3)
+    [u"FooBar"]=>
+    int(4)
+    [u","]=>
+    int(5)
+    [u",,"]=>
+    int(6)
+  }
 }
 ===DONE===