@@ -116,14 +116,9 @@ public function __toString()
116
116
. "; \n" ;
117
117
}
118
118
119
- $ extends = (array ) $ this ->extends ;
120
- $ implements = $ this ->implements ;
121
- $ traits = $ this ->traits ;
122
- if ($ this ->namespace ) {
123
- $ extends = array_map ([$ this ->namespace , 'unresolveName ' ], $ extends );
124
- $ implements = array_map ([$ this ->namespace , 'unresolveName ' ], $ implements );
125
- $ traits = array_map ([$ this ->namespace , 'unresolveName ' ], $ traits );
126
- }
119
+ $ mapper = function (array $ arr ) {
120
+ return array_map ([$ this ->namespace ?: new PhpNamespace , 'unresolveName ' ], $ arr );
121
+ };
127
122
128
123
foreach ($ this ->methods as $ method ) {
129
124
$ method ->setNamespace ($ this ->namespace );
@@ -135,11 +130,11 @@ public function __toString()
135
130
. ($ this ->final ? 'final ' : '' )
136
131
. $ this ->type . ' '
137
132
. $ this ->name . ' '
138
- . ($ extends ? 'extends ' . implode (', ' , $ extends ) . ' ' : '' )
139
- . ($ implements ? 'implements ' . implode (', ' , $ implements ) . ' ' : '' )
133
+ . ($ this -> extends ? 'extends ' . implode (', ' , $ mapper (( array ) $ this -> extends ) ) . ' ' : '' )
134
+ . ($ this -> implements ? 'implements ' . implode (', ' , $ mapper ( $ this -> implements ) ) . ' ' : '' )
140
135
. "\n{ \n"
141
136
. Strings::indent (
142
- ($ traits ? 'use ' . implode ("; \nuse " , $ traits ) . "; \n\n" : '' )
137
+ ($ this -> traits ? 'use ' . implode ("; \nuse " , $ mapper ( $ this -> traits ) ) . "; \n\n" : '' )
143
138
. ($ this ->consts ? implode ('' , $ consts ) . "\n" : '' )
144
139
. ($ this ->properties ? implode ("\n" , $ properties ) . "\n" : '' )
145
140
. ($ this ->methods ? "\n" . implode ("\n\n\n" , $ this ->methods ) . "\n\n" : '' ), 1 )
0 commit comments