@@ -139,24 +139,14 @@ public function printClass(ClassType $class, PhpNamespace $namespace = null): st
139
139
public function printNamespace (PhpNamespace $ namespace ): string
140
140
{
141
141
$ 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 );
153
143
154
144
$ classes = [];
155
145
foreach ($ namespace ->getClasses () as $ class ) {
156
146
$ classes [] = $ this ->printClass ($ class , $ namespace );
157
147
}
158
148
159
- $ body = ($ uses ? implode ( "\n" , $ uses) . "\n\n" : '' )
149
+ $ body = ($ uses ? $ uses . "\n\n" : '' )
160
150
. implode ("\n" , $ classes );
161
151
162
152
if ($ namespace ->getBracketedSyntax ()) {
@@ -204,6 +194,23 @@ protected function indent(string $s): string
204
194
}
205
195
206
196
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
+
207
214
/**
208
215
* @param Nette\PhpGenerator\Traits\FunctionLike $function
209
216
*/
0 commit comments