bug78895.phpt 847 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. Fixed bug #78895 (Reflection detects abstract non-static class as abstract static).
  3. --FILE--
  4. <?php
  5. abstract class Foo {
  6. abstract public function f1();
  7. }
  8. interface I {
  9. public function f2();
  10. }
  11. trait T {
  12. abstract public function f2();
  13. }
  14. class Bar extends Foo implements I {
  15. use T;
  16. function f1() {}
  17. function f2() {}
  18. }
  19. $ref = new ReflectionClass(Foo::class);
  20. var_dump(Reflection::getModifierNames($ref->getModifiers()));
  21. $ref = new ReflectionClass(I::class);
  22. var_dump(Reflection::getModifierNames($ref->getModifiers()));
  23. $ref = new ReflectionClass(T::class);
  24. var_dump(Reflection::getModifierNames($ref->getModifiers()));
  25. $ref = new ReflectionClass(Bar::class);
  26. var_dump(Reflection::getModifierNames($ref->getModifiers()));
  27. ?>
  28. --EXPECT--
  29. array(1) {
  30. [0]=>
  31. string(8) "abstract"
  32. }
  33. array(0) {
  34. }
  35. array(0) {
  36. }
  37. array(0) {
  38. }