Skip to content

Commit 23462f6

Browse files
committed
PhpNamespace: added removeUse() [Closes #102]
1 parent fdc5e14 commit 23462f6

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

src/PhpGenerator/PhpNamespace.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,16 @@ public function addUse(string $name, ?string $alias = null, string $of = self::N
139139
}
140140

141141

142+
public function removeUse(string $name, string $of = self::NameNormal): void
143+
{
144+
foreach ($this->aliases[$of] as $alias => $item) {
145+
if (strcasecmp($item, $name) === 0) {
146+
unset($this->aliases[$of][$alias]);
147+
}
148+
}
149+
}
150+
151+
142152
/** @return static */
143153
public function addUseFunction(string $name, ?string $alias = null): self
144154
{

tests/PhpGenerator/PhpNamespace.aliases.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ $namespace->addUse('C');
5757
Assert::same('C', $namespace->simplifyName('C'));
5858
$namespace->addUse('Bar\C');
5959
Assert::same('C1', $namespace->simplifyName('Bar\C'));
60+
$namespace->removeUse('bar\c');
61+
Assert::same('Bar\C', $namespace->simplifyName('Bar\C'));
6062

6163
$namespace = new PhpNamespace('');
6264
$namespace->addUse('Bar\C');
@@ -91,3 +93,5 @@ $namespace = new PhpNamespace('Foo');
9193
$namespace->addUseFunction('Bar\c');
9294
$namespace->addUseFunction('c');
9395
Assert::same('c1', $namespace->simplifyName('c', $namespace::NameFunction));
96+
$namespace->removeUse('c', $namespace::NameFunction);
97+
Assert::same('\c', $namespace->simplifyName('c', $namespace::NameFunction));

0 commit comments

Comments
 (0)