mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
380e705fc2
Non-early-bound classes report inheritance errors at the first line of the class, if no better line information is available (we should really store line numbers for properties at least...) Early bound classes report it at the last line of the class instead. Make the error reporting consistent by always reporting at the first line.
31 lines
536 B
PHP
31 lines
536 B
PHP
--TEST--
|
|
Redeclare inherited protected static property as private static.
|
|
--FILE--
|
|
<?php
|
|
class A
|
|
{
|
|
protected static $p = "A::p (static)";
|
|
static function showA()
|
|
{
|
|
echo self::$p . "\n";
|
|
}
|
|
}
|
|
|
|
class B extends A
|
|
{
|
|
private static $p = "B::p (static)";
|
|
static function showB()
|
|
{
|
|
echo self::$p . "\n";
|
|
}
|
|
}
|
|
|
|
|
|
A::showA();
|
|
|
|
B::showA();
|
|
B::showB();
|
|
?>
|
|
--EXPECTF--
|
|
Fatal error: Access level to B::$p must be protected (as in class A) or weaker in %s on line 11
|