getName()); // Property in class Assert::same('C', Reflection::getPropertyDeclaringClass(new ReflectionProperty('C', 'foo'))->getName()); // Property in trait Assert::same('B', Reflection::getPropertyDeclaringClass(new ReflectionProperty('B', 'foo'))->getName()); // Property in trait Assert::same('A', Reflection::getPropertyDeclaringClass(new ReflectionProperty('A', 'foo'))->getName());