Skip to content

Commit 734a6d7

Browse files
committed
Bug fix - namespace resets aliases
Signed-off-by: Jan Pecha <[email protected]>
1 parent 03fe2fd commit 734a6d7

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

src/PhpDepend.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ public function parse($str)
133133
// namespace
134134
case self::$T_NAMESPACE:
135135
$this->namespace = $this->readIdentifier();
136+
$this->use = array();
136137
continue;
137138

138139
// USE keywords

tests/PhpDepend/PhpDepend.use-keyword.phpt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,37 @@ Assert::same(array(
3434
'NS4\NS5\NS7\ParentClass',
3535
'NS4\NS5\NS6\FooInterface',
3636
), $phpdepend->getDependencies());
37+
38+
39+
// conflicts
40+
$phpdepend->parse("<?php
41+
namespace First;
42+
use NS4\NS5\NS6;
43+
use NS4\NS5\NS7 as NS9;
44+
45+
class MyClass1 extends NS9\ParentClass implements NS6\FooInterface
46+
{
47+
}
48+
49+
50+
namespace Second;
51+
use MYNS\NS6;
52+
53+
class MyClass2 extends NS9\ParentClass implements NS6\FooInterface
54+
{
55+
}
56+
");
57+
58+
Assert::same(array(
59+
'First\MyClass1',
60+
'Second\MyClass2',
61+
), $phpdepend->getClasses());
62+
63+
Assert::same(array(
64+
// first
65+
'NS4\NS5\NS7\ParentClass',
66+
'NS4\NS5\NS6\FooInterface',
67+
// second
68+
'Second\NS9\ParentClass',
69+
'MYNS\NS6\FooInterface',
70+
), $phpdepend->getDependencies());

0 commit comments

Comments
 (0)