Commit eafb5ff
committed
Tokenizer/PHP: bug fix - handling of
Improve handling of `true`, `false` and `null` when prefixed with a namespace separator.
In PHP, `true === \true` and `\null === null`, however, the PHPCS tokenizer would not tokenize this correctly.
In normal circumstances, `true` is tokenized as `T_TRUE`, `false` as `T_FALSE` and `null` as `T_NULL`, but when prefixed with a namespace separator, these would be tokenized as `T_STRING`.
While this is intentional when the name is part of a larger namespaced name, for stand-alone `\true`/`\false`/`\null`, the tokenizer should use the appropriate tokens for the keywords.
Fixed now. Includes tests.
Note: the changes in the `PHP` class will be most straight-forward to review while ignoring whitespace changes.\true/\false/\null
1 parent be74da1 commit eafb5ff
File tree
5 files changed
+144
-18
lines changed- src/Tokenizers
- tests/Core/Tokenizers/PHP
5 files changed
+144
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1247 | 1247 | | |
1248 | 1248 | | |
1249 | 1249 | | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
1250 | 1258 | | |
1251 | 1259 | | |
1252 | 1260 | | |
| |||
1267 | 1275 | | |
1268 | 1276 | | |
1269 | 1277 | | |
1270 | | - | |
1271 | | - | |
1272 | | - | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
1273 | 1282 | | |
1274 | | - | |
1275 | | - | |
1276 | | - | |
1277 | | - | |
1278 | | - | |
1279 | | - | |
1280 | | - | |
1281 | | - | |
1282 | | - | |
| 1283 | + | |
1283 | 1284 | | |
1284 | | - | |
1285 | | - | |
1286 | | - | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
1287 | 1288 | | |
1288 | 1289 | | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
1289 | 1299 | | |
1290 | | - | |
| 1300 | + | |
1291 | 1301 | | |
1292 | 1302 | | |
1293 | 1303 | | |
| |||
2427 | 2437 | | |
2428 | 2438 | | |
2429 | 2439 | | |
2430 | | - | |
| 2440 | + | |
| 2441 | + | |
2431 | 2442 | | |
2432 | 2443 | | |
2433 | 2444 | | |
2434 | | - | |
2435 | 2445 | | |
2436 | 2446 | | |
2437 | 2447 | | |
2438 | 2448 | | |
2439 | 2449 | | |
| 2450 | + | |
| 2451 | + | |
| 2452 | + | |
| 2453 | + | |
| 2454 | + | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
| 2463 | + | |
| 2464 | + | |
| 2465 | + | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
| 2470 | + | |
| 2471 | + | |
| 2472 | + | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
| 2477 | + | |
| 2478 | + | |
| 2479 | + | |
| 2480 | + | |
2440 | 2481 | | |
2441 | 2482 | | |
2442 | 2483 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
44 | 52 | | |
45 | 53 | | |
46 | 54 | | |
| |||
Lines changed: 17 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
92 | 96 | | |
93 | 97 | | |
94 | 98 | | |
| |||
157 | 161 | | |
158 | 162 | | |
159 | 163 | | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
160 | 177 | | |
161 | 178 | | |
162 | 179 | | |
| |||
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
133 | 142 | | |
134 | 143 | | |
135 | 144 | | |
| |||
Lines changed: 51 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1172 | 1172 | | |
1173 | 1173 | | |
1174 | 1174 | | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
1175 | 1226 | | |
1176 | 1227 | | |
1177 | 1228 | | |
| |||
0 commit comments