1--TEST--
2SPL: Ensure access to non-visible properties falls back to dimension access with ArrayObject::ARRAY_AS_PROPS.
3--FILE--
4<?php
5class C extends ArrayObject {
6    private $x = 'secret';
7
8    static function go($c) {
9      var_dump($c->x);
10    }
11}
12
13$c = new C(array('x'=>'public'));
14
15$c->setFlags(ArrayObject::ARRAY_AS_PROPS);
16C::go($c);
17var_dump($c->x);
18
19
20$c->setFlags(0);
21C::go($c);
22var_dump($c->x);
23?>
24--EXPECTF--
25string(6) "secret"
26string(6) "public"
27string(6) "secret"
28
29Fatal error: Uncaught Error: Cannot access private property C::$x in %s:19
30Stack trace:
31#0 {main}
32  thrown in %s on line 19
33