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 39
|
--TEST--
GH-9447: Invalid class FQN emitted by AST dump for new and class constants in constant expressions
--FILE--
<?php
namespace App;
use SomewhereElse\Qux;
class Foo
{
public function bar(
$a = Bar::BAZ,
$b = new Bar(),
$c = new parent(),
$d = new self(),
$e = new namespace\Bar(),
$f = new Qux(),
$g = new namespace\Qux(),
$i = new \Qux(),
) {}
}
$r = new \ReflectionMethod(Foo::class, 'bar');
foreach ($r->getParameters() as $p) {
echo $p, "\n";
}
?>
--EXPECT--
Parameter #0 [ <optional> $a = \App\Bar::BAZ ]
Parameter #1 [ <optional> $b = new \App\Bar() ]
Parameter #2 [ <optional> $c = new parent() ]
Parameter #3 [ <optional> $d = new self() ]
Parameter #4 [ <optional> $e = new \App\Bar() ]
Parameter #5 [ <optional> $f = new \SomewhereElse\Qux() ]
Parameter #6 [ <optional> $g = new \App\Qux() ]
Parameter #7 [ <optional> $i = new \Qux() ]
|