Skip to content

Commit 6588c15

Browse files
committed
Merge branch 'master' into 4.x
2 parents 1e8cc4b + d2d2bdb commit 6588c15

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

tests/Core/Files/File/FindExtendedClassNameTest.inc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ class testFECNClassThatImplementsAndExtends implements InterfaceA, InterfaceB ex
4747
/* testInterfaceMultiExtends */
4848
interface Multi extends \Package\FooInterface, \BarInterface {};
4949

50+
/* testExtendedReadonlyAnonClass */
51+
$anon = new readonly class() extends \Fully\Qualified\MyClass {};
52+
53+
/* testExtendedAnonClassWithAttributes */
54+
$anon = new #[SomeAttribute] class( $p ) extends Partially\Qualified\MyClass {};
55+
5056
/* testMissingExtendsName */
5157
class testMissingExtendsName extends { /* missing classname */ } // Intentional parse error.
5258

tests/Core/Files/File/FindExtendedClassNameTest.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,14 @@ public static function dataExtendedClass()
133133
'identifier' => '/* testInterfaceMultiExtends */',
134134
'expected' => '\Package\FooInterface',
135135
],
136+
'readonly anon class extends fully qualified class' => [
137+
'identifier' => '/* testExtendedReadonlyAnonClass */',
138+
'expected' => '\Fully\Qualified\MyClass',
139+
],
140+
'anon class with attribute extends partially qualified class' => [
141+
'identifier' => '/* testExtendedAnonClassWithAttributes */',
142+
'expected' => 'Partially\Qualified\MyClass',
143+
],
136144
'parse error - extends keyword, but no class name' => [
137145
'identifier' => '/* testMissingExtendsName */',
138146
'expected' => false,

0 commit comments

Comments
 (0)