MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / DemangleUnqualifiedSymbolName

Method DemangleUnqualifiedSymbolName

demangler/msvc/demangle_msvc.cpp:1030–1053  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1028
1029
1030string Demangle::DemangleUnqualifiedSymbolName(QualifiedName& nameList, BackrefList& nameBackrefList, BNNameType& classFunctionType)
1031{
1032 string out;
1033 if (reader.PeekString(2) == "?$")
1034 {
1035 reader.Consume(2);
1036 out = DemangleTemplateInstantiationName(nameBackrefList);
1037 nameList.insert(nameList.begin(), out);
1038 }
1039 else if (reader.Peek() == '?')
1040 {
1041 reader.Consume();
1042 DemangleTypeNameLookup(out, classFunctionType);
1043 }
1044 else if (reader.Peek() >= '0' && reader.Peek() <= '9')
1045 {
1046 out = nameBackrefList.GetStringBackref(reader.Read() - '0');
1047 }
1048 else
1049 {
1050 DemangleNameTypeString(out);
1051 }
1052 return out;
1053}
1054
1055
1056TypeBuilder Demangle::DemangleString()

Callers

nothing calls this directly

Calls 7

GetStringBackrefMethod · 0.80
PeekStringMethod · 0.45
ConsumeMethod · 0.45
insertMethod · 0.45
beginMethod · 0.45
PeekMethod · 0.45
ReadMethod · 0.45

Tested by

no test coverage detected