Skip to content

Commit 657fada

Browse files
committed
Printer: added printUses()
1 parent 32d310d commit 657fada

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/PhpGenerator/Printer.php

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -139,24 +139,14 @@ public function printClass(ClassType $class, PhpNamespace $namespace = null): st
139139
public function printNamespace(PhpNamespace $namespace): string
140140
{
141141
$name = $namespace->getName();
142-
143-
$uses = [];
144-
foreach ($namespace->getUses() as $alias => $original) {
145-
if ($original !== ($name ? $name . '\\' . $alias : $alias)) {
146-
if ($alias === $original || substr($original, -(strlen($alias) + 1)) === '\\' . $alias) {
147-
$uses[] = "use $original;";
148-
} else {
149-
$uses[] = "use $original as $alias;";
150-
}
151-
}
152-
}
142+
$uses = $this->printUses($namespace);
153143

154144
$classes = [];
155145
foreach ($namespace->getClasses() as $class) {
156146
$classes[] = $this->printClass($class, $namespace);
157147
}
158148

159-
$body = ($uses ? implode("\n", $uses) . "\n\n" : '')
149+
$body = ($uses ? $uses . "\n\n" : '')
160150
. implode("\n", $classes);
161151

162152
if ($namespace->getBracketedSyntax()) {
@@ -204,6 +194,23 @@ protected function indent(string $s): string
204194
}
205195

206196

197+
protected function printUses(PhpNamespace $namespace): string
198+
{
199+
$name = $namespace->getName();
200+
$uses = [];
201+
foreach ($namespace->getUses() as $alias => $original) {
202+
if ($original !== ($name ? $name . '\\' . $alias : $alias)) {
203+
if ($alias === $original || substr($original, -(strlen($alias) + 1)) === '\\' . $alias) {
204+
$uses[] = "use $original;";
205+
} else {
206+
$uses[] = "use $original as $alias;";
207+
}
208+
}
209+
}
210+
return implode("\n", $uses);
211+
}
212+
213+
207214
/**
208215
* @param Nette\PhpGenerator\Traits\FunctionLike $function
209216
*/

0 commit comments

Comments
 (0)