| 1425 | } |
| 1426 | |
| 1427 | void Demangle::DemangleModifiers(bool& _const, bool& _volatile, bool &isMember) |
| 1428 | { |
| 1429 | m_logger->LogDebug("%s: '%s'\n", __FUNCTION__, reader.GetRaw()); |
| 1430 | if (reader.Peek() == '@') |
| 1431 | return; |
| 1432 | |
| 1433 | _const = false; |
| 1434 | _volatile = false; |
| 1435 | isMember = false; |
| 1436 | char elm = reader.Read(); |
| 1437 | switch (elm) |
| 1438 | { |
| 1439 | case 'A': break; |
| 1440 | case 'B': _const = true; break; |
| 1441 | case 'J': _const = true; break; |
| 1442 | case 'C': _volatile = true; break; |
| 1443 | case 'G': _volatile = true; break; |
| 1444 | case 'K': _volatile = true; break; |
| 1445 | case 'D': _const = true; _volatile = true; break; |
| 1446 | case 'H': _const = true; _volatile = true; break; |
| 1447 | case 'L': _const = true; _volatile = true; break; |
| 1448 | case '6': break; |
| 1449 | case '7': break; |
| 1450 | case 'M': break; |
| 1451 | case 'N': break; |
| 1452 | case 'O': _volatile = true; break; |
| 1453 | case 'P': _volatile = true; _const = true; break; |
| 1454 | case 'Q': isMember = true; break; |
| 1455 | case 'U': break; |
| 1456 | case 'Y': break; |
| 1457 | case 'R': _const = true; isMember = true; break; |
| 1458 | case 'V': _const = true; break; |
| 1459 | case 'Z': _const = true; break; |
| 1460 | case 'S': _volatile = true; isMember = true; break; |
| 1461 | case 'W': _volatile = true; break; |
| 1462 | case '0': _volatile = true; break; |
| 1463 | case 'T': _const = true; _volatile = true; isMember = true; break; |
| 1464 | case 'X': _const = true; _volatile = true; break; |
| 1465 | case '1': _const = true; _volatile = true; break; |
| 1466 | case '8': break; |
| 1467 | case '9': break; |
| 1468 | case '2': break; |
| 1469 | case '3': _const = true; break; |
| 1470 | case '4': _volatile = true; break; |
| 1471 | case '5': _const = true; _volatile = true; break; |
| 1472 | case '_': |
| 1473 | elm = reader.Read(); |
| 1474 | if (elm == 'A' || elm == 'B') |
| 1475 | { |
| 1476 | //For unhandled "member" and "based" parameters |
| 1477 | break; |
| 1478 | } |
| 1479 | else if (elm == 'C' || elm == 'D') |
| 1480 | { |
| 1481 | //For unhandled "member" and "based" parameters |
| 1482 | break; |
| 1483 | } |
| 1484 | else |
nothing calls this directly
no test coverage detected