Some of these were not working correctly before Guilherme's patch.
Another was broken by it and is fixed in this commit as well.
return;
}
GET_REFLECTION_OBJECT_PTR(ce);
- if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) {
+ if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) {
RETURN_FALSE;
}
--- /dev/null
+--TEST--
+Tests some parts of ReflectionClass behavior for traits
+--FILE--
+<?php
+
+trait T {}
+
+$r = new ReflectionClass('T');
+var_dump(Reflection::getModifierNames($r->getModifiers()));
+var_dump($r->isAbstract());
+var_dump($r->isInstantiable());
+var_dump($r->isCloneable());
+
+?>
+--EXPECT--
+array(0) {
+}
+bool(false)
+bool(false)
+bool(false)