in natvis/type_resolver.cpp [171:198]
static std::string get_signature(TypeSig::value_type const& type)
{
return call(type, [&](ElementType type) -> std::string
{
switch (type)
{
case ElementType::Boolean: return "b1";
case ElementType::Char: return "c2";
case ElementType::I1: return "i1";
case ElementType::U1: return "u1";
case ElementType::I2: return "i2";
case ElementType::U2: return "u2";
case ElementType::I4: return "i4";
case ElementType::U4: return "u4";
case ElementType::I8: return "i8";
case ElementType::U8: return "u8";
case ElementType::R4: return "f4";
case ElementType::R8: return "f8";
case ElementType::String: return "string";
case ElementType::Object: return "cinterface(IInspectable)";
default: assert(false); return "";
}
},
[&](auto&& type)
{
return get_signature(type);
});
}