2011-11-19 21:36:03 +08:00
|
|
|
--TEST--
|
2014-11-20 03:59:31 +08:00
|
|
|
Bug #43200 (Interface implementation / inheritance not possible in abstract classes)
|
2011-11-19 21:36:03 +08:00
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
interface a {
|
|
|
|
function foo();
|
|
|
|
function bar();
|
|
|
|
}
|
|
|
|
interface b {
|
|
|
|
function foo();
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract class c {
|
|
|
|
function bar() { }
|
|
|
|
}
|
|
|
|
|
|
|
|
class x extends c implements a, b {
|
|
|
|
function foo() { }
|
|
|
|
}
|
|
|
|
|
2019-07-11 19:41:10 +08:00
|
|
|
echo new ReflectionClass('x');
|
2011-11-19 21:36:03 +08:00
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECTF--
|
|
|
|
Class [ <user> class x extends c implements a, b ] {
|
|
|
|
@@ %s 15-17
|
|
|
|
|
|
|
|
- Constants [0] {
|
|
|
|
}
|
|
|
|
|
|
|
|
- Static properties [0] {
|
|
|
|
}
|
|
|
|
|
|
|
|
- Static methods [0] {
|
|
|
|
}
|
|
|
|
|
|
|
|
- Properties [0] {
|
|
|
|
}
|
|
|
|
|
|
|
|
- Methods [2] {
|
|
|
|
Method [ <user, prototype b> public method foo ] {
|
|
|
|
@@ %s 16 - 16
|
|
|
|
}
|
|
|
|
|
|
|
|
Method [ <user, inherits c, prototype a> public method bar ] {
|
|
|
|
@@ %s 12 - 12
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|