| 1649 | |
| 1650 | |
| 1651 | TypeBuilder Demangle::DemanagleRTTI(BNNameType nameType) |
| 1652 | { |
| 1653 | m_logger->LogDebug("%s: '%s'\n", __FUNCTION__, reader.GetRaw()); |
| 1654 | bool _const = false, _volatile = false, isMember = false; |
| 1655 | if (reader.Length() > 0) |
| 1656 | DemangleModifiers(_const, _volatile, isMember); |
| 1657 | QualifiedName typeName = m_varName; |
| 1658 | m_logger->LogDebug("new struct type\n"); |
| 1659 | TypeBuilder newType = TypeBuilder::NamedType(NamedTypeReference::GenerateAutoDemangledTypeReference( |
| 1660 | StructNamedTypeClass, typeName)); |
| 1661 | newType.SetNameType(nameType); |
| 1662 | newType.SetConst(_const); |
| 1663 | newType.SetVolatile(_volatile); |
| 1664 | m_logger->LogDebug("log: %s\n", newType.GetString().c_str()); |
| 1665 | return newType; |
| 1666 | } |
| 1667 | |
| 1668 | |
| 1669 | TypeBuilder Demangle::DemangleVTable() |