MCPcopy Create free account
hub / github.com/MITK/MITK / DemangleName

Function DemangleName

Plugins/org.blueberry.core.runtime/src/berryReflection.cpp:41–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39namespace Reflection {
40
41QString DemangleName(const char* mangledName)
42{
43 QString name(mangledName);
44#ifdef GCC_USEDEMANGLE
45 int status;
46 char* unmangled = abi::__cxa_demangle(mangledName, nullptr, nullptr, &status);
47
48 if(status == 0)
49 {
50 name = QString(unmangled);
51 free(unmangled);
52 }
53#elif defined(_WIN32) && defined(NDEBUG)
54 char * const unmangled = __unDName(0, mangledName, 0, malloc, free, 0x2800);
55 if (unmangled)
56 {
57 QString unmangledName(unmangled);
58 name = unmangledName.split(' ', Qt::SkipEmptyParts).back();
59 free(unmangled);
60 }
61#else
62 name = name.split(' ', Qt::SkipEmptyParts).back();
63#endif
64 return name;
65}
66
67#ifdef GetClassName
68// clash with WinUser.h definition

Callers 5

GetAdapterFunction · 0.85
GetClassNameMethod · 0.85
PrintSelfMethod · 0.85
GetClassNameFunction · 0.85
GetClassNameFunction · 0.85

Calls 2

backMethod · 0.80
QStringClass · 0.50

Tested by

no test coverage detected