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