Skip to content

Commit 010e108

Browse files
committed
PhpNamespace: added removeUse() [Closes #102]
1 parent ab55fb8 commit 010e108

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
@@ -137,6 +137,16 @@ public function addUse(string $name, ?string $alias = null, string $of = self::N
137137
}
138138

139139

140+
public function removeUse(string $name, string $of = self::NameNormal): void
141+
{
142+
foreach ($this->aliases[$of] as $alias => $item) {
143+
if (strcasecmp($item, $name) === 0) {
144+
unset($this->aliases[$of][$alias]);
145+
}
146+
}
147+
}
148+
149+
140150
public function addUseFunction(string $name, ?string $alias = null): static
141151
{
142152
return $this->addUse($name, $alias, self::NameFunction);

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)