From: nicolas.gre...@gmail.com <nicolas.gre...@gmail.com> On Behalf Of Nicolas Grekas Sent: Thursday, June 21, 2018 18:51 To: Bob Weinand <bobw...@hotmail.com> Cc: Nikita Popov <nikita....@gmail.com>; PHP internals <internals@lists.php.net> Subject: Re: [PHP-DEV] [RFC] Typed Properties
something like a ReflectionReference class, which will give you the referencing properties via ReflectionProperty instances I may not have the object when walking on data structures, but only the reference (in an array.) It could work this way I suppose: `ReflectionReference::fromArray(array $array, string $key): ?ReflectionReference`, returning `null` when `$array[$key]` is not a reference, and the instance otherwise. WDYT? I imagined a ReflectionReference::__construct(&$value), with methods getRefcount() : int and getReferencingProperties() : ReflectionProperty[] To check whether it’s a reference at all, you’d use if ((new ReflectionReference($array[$key]))->getRefcount() > 2) { /* is ref */ } else { /* not a ref */ }, for computing the allowed types you’d intersect the types of the ReflectionProperties returned by getReferencingProperties(). Bob