| 324 | } |
| 325 | |
| 326 | Token * Tokenizer::deleteInvalidTypedef(Token *typeDef) |
| 327 | { |
| 328 | Token *tok = nullptr; |
| 329 | |
| 330 | // remove typedef but leave ; |
| 331 | while (typeDef->next()) { |
| 332 | if (typeDef->strAt(1) == ";") { |
| 333 | typeDef->deleteNext(); |
| 334 | break; |
| 335 | } |
| 336 | if (typeDef->strAt(1) == "{") |
| 337 | Token::eraseTokens(typeDef, typeDef->linkAt(1)); |
| 338 | else if (typeDef->strAt(1) == "}") |
| 339 | break; |
| 340 | typeDef->deleteNext(); |
| 341 | } |
| 342 | |
| 343 | if (typeDef != list.front()) { |
| 344 | tok = typeDef->previous(); |
| 345 | tok->deleteNext(); |
| 346 | } else { |
| 347 | list.front()->deleteThis(); |
| 348 | tok = list.front(); |
| 349 | } |
| 350 | |
| 351 | return tok; |
| 352 | } |
| 353 | |
| 354 | namespace { |
| 355 | struct Space { |
nothing calls this directly
no test coverage detected