@@ -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