Skip to content

Commit a705c41

Browse files
authored
Merge pull request #401 from zobo/resolve-qualifiedname-trait-use
fix: Allow getResolvedName to resolve QualifiedName in TraitUseClause
2 parents 84ce745 + 57e78ca commit a705c41

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/Node/QualifiedName.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ public function getResolvedName($namespaceDefinition = null) {
8585
$this->parent instanceof Node\Statement\NamespaceUseDeclaration ||
8686
$this->parent instanceof Node\NamespaceUseClause ||
8787
$this->parent instanceof Node\NamespaceUseGroupClause ||
88-
$this->parent->parent instanceof Node\TraitUseClause ||
8988
$this->parent instanceof Node\TraitSelectOrAliasClause
9089
) {
9190
return null;

tests/api/getResolvedName.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ class GetResolvedNameTest extends TestCase {
2525
'use _A as C' => null,
2626
'use A\B\{C, D_}' => null,
2727
'use A\B\{C, D_}' => null,
28-
'class Foo { use _BarTrait; }' => null,
29-
'class Foo { use BarTrait, Baz_Trait; }' => null,
3028
'class Foo { use A, B { A::Foo as _foo }' => null,
3129

3230
// Relative scope resolution qualifiers
@@ -39,7 +37,8 @@ class GetResolvedNameTest extends TestCase {
3937
'\Fo_o' => 'Foo',
4038
'use A\Foo;\_Foo\Bar' => 'Foo\Bar',
4139
'$f = new \_Foo\Bar()' => 'Foo\Bar',
42-
'class Foo { use A, B { \Foo\_Bar::A as _foo }' => 'Foo\Bar',
40+
'class Foo { use A, B { \Foo\_Bar::A as foo }' => 'Foo\Bar',
41+
'class Foo { use \A\BTr_ait; }' => 'A\BTrait',
4342

4443
// Relative name
4544
'namespace Foo; namespace\Bar_' => 'Foo\Bar',
@@ -65,6 +64,9 @@ class GetResolvedNameTest extends TestCase {
6564
'use A\B; new _B()' => 'A\B', // Class imported
6665
'use A\B; _B()' => 'B', // Not imported as function
6766
'use A\B; function xyz(): _B { };' => 'A\B',
67+
'class Foo { use _BarTrait; }' => 'BarTrait',
68+
'class Foo { use BarTrait, Baz_Trait; }' => 'BazTrait',
69+
'use A\BarTrait; class Foo { use _BarTrait; }' => 'A\BarTrait',
6870
);
6971

7072
public function dataProvider() {

0 commit comments

Comments
 (0)