@@ -76,7 +76,7 @@ private function tname(array $tokens, $idx) {
76
76
77
77
if ($ tconst === T_REQUIRE || $ tconst === T_REQUIRE_ONCE || $ tconst === T_INCLUDE || $ tconst === T_INCLUDE_ONCE ) {
78
78
if ($ this ->tconst (tokens[$ idx +2 ]) === T_CONSTANT_ENCAPSED_STRING ) {
79
- return trim ($ tokens [$ idx +2 ], "' \"" );
79
+ return trim ($ this -> tstring ( $ tokens [$ idx +2 ]) , "' \"" );
80
80
}
81
81
return null ;
82
82
}
@@ -88,10 +88,10 @@ private function tname(array $tokens, $idx) {
88
88
$ tclass = $ this ->tclass ($ token );
89
89
90
90
if ($ tconst === T_STRING ) {
91
- $ name = ( string ) $ token ;
91
+ $ name = $ this -> tstring ( $ token) ;
92
92
break ;
93
93
} elseif ($ tconst === T_STRING && $ tclass === 'PHP_Token_AMPERSAND ' && $ this ->tconst ($ tokens [$ i +1 ]) === T_STRING ) {
94
- $ name = ( string ) $ tokens [$ i +1 ];
94
+ $ name = $ this -> tstring ( $ tokens [$ i +1 ]) ;
95
95
break ;
96
96
} elseif ($ tclass === 'PHP_Token_OPEN_BRACKET ' ) {
97
97
$ name = 'anonymous function ' ;
@@ -117,15 +117,15 @@ private function tname(array $tokens, $idx) {
117
117
}
118
118
119
119
if ($ tconst === T_CLASS || $ tconst === T_TRAIT ) {
120
- return ( string ) $ tokens [$ idx + 2 ];
120
+ return $ this -> tstring ( $ tokens [$ idx + 2 ]) ;
121
121
}
122
122
123
123
if ($ tconst === T_NAMESPACE ) {
124
- $ namespace = ( string ) $ tokens [$ idx +2 ];
124
+ $ namespace = $ this -> tstring ( $ tokens [$ idx +2 ]) ;
125
125
126
126
for ($ i = $ idx + 3 ;; $ i += 2 ) {
127
127
if (isset ($ tokens [$ i ]) && $ this ->tconst ($ tokens [$ i ]) === T_NS_SEPARATOR ) {
128
- $ namespace .= '\\' . $ tokens [$ i +1 ];
128
+ $ namespace .= '\\' . $ this -> tstring ( $ tokens [$ i +1 ]) ;
129
129
} else {
130
130
break ;
131
131
}
@@ -135,6 +135,13 @@ private function tname(array $tokens, $idx) {
135
135
}
136
136
}
137
137
138
+ private function tstring ($ token ) {
139
+ if (is_array ($ token )) {
140
+ return $ token [1 ];
141
+ }
142
+ return $ token ;
143
+ }
144
+
138
145
/**
139
146
* @return string
140
147
*/
@@ -166,10 +173,10 @@ private function getParent(array $tokens, $i) {
166
173
$ parent = false ;
167
174
if ($ this ->tconst ($ tokens [$ i +4 ]) === T_EXTENDS ) {
168
175
$ ci = $ i + 6 ;
169
- $ className = ( string ) $ tokens [$ ci ];
176
+ $ className = $ this -> tstring ( $ tokens [$ ci ]) ;
170
177
171
178
while (isset ($ tokens [$ ci +1 ]) && !($ this ->tconst ($ tokens [$ ci +1 ]) === T_WHITESPACE )) {
172
- $ className .= ( string ) $ tokens [++$ ci ];
179
+ $ className .= $ this -> tstring ( $ tokens [++$ ci ]) ;
173
180
}
174
181
175
182
$ parent = $ className ;
@@ -191,7 +198,7 @@ private function getInterfaces(array $tokens, $i) {
191
198
$ ii ++;
192
199
193
200
if ($ this ->tconst ($ tokens [$ ii ]) === T_STRING ) {
194
- $ interfaces [] = ( string ) $ tokens [$ ii ];
201
+ $ interfaces [] = $ this -> tstring ( $ tokens [$ ii ]) ;
195
202
}
196
203
}
197
204
}
@@ -261,7 +268,7 @@ private function getDocblock(array $tokens, $idx) {
261
268
break ;
262
269
}
263
270
264
- return ( string ) $ token ;
271
+ return $ this -> tstring ( $ token) ;
265
272
}
266
273
}
267
274
@@ -389,7 +396,7 @@ private function getSignature(array $tokens, $idx)
389
396
while (isset ($ tokens [$ i ]) && $ tclass = $ this ->tclass ($ tokens [$ i ]) &&
390
397
$ tclass !== 'PHP_Token_OPEN_CURLY ' &&
391
398
$ tclass !== 'PHP_Token_SEMICOLON ' ) {
392
- $ signature .= $ tokens [$ i ++];
399
+ $ signature .= $ this -> tstring ( $ tokens [$ i ++]) ;
393
400
}
394
401
395
402
$ signature = trim ($ signature );
0 commit comments