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

Method DemangleCallingConvention

demangler/msvc/demangle_msvc.cpp:1372–1398  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1370}
1371
1372BNCallingConventionName Demangle::DemangleCallingConvention()
1373{
1374 m_logger->LogDebug("%s: '%s'\n", __FUNCTION__, reader.GetRaw());
1375 switch (reader.Read())
1376 {
1377 case 'A': //Exported function
1378 case 'B': return CdeclCallingConvention;
1379 case 'C': //Exported function
1380 case 'D': return PascalCallingConvention;
1381 case 'E': //Exported function
1382 case 'F': return ThisCallCallingConvention;
1383 case 'G': //Exported function
1384 case 'H': return STDCallCallingConvention;
1385 case 'I': //Exported function
1386 case 'J': return FastcallCallingConvention;
1387 case 'K': //Exported function
1388 case 'L': return NoCallingConvention;
1389 case 'M': //Exported function
1390 case 'N': return CLRCallCallingConvention;
1391 case 'O': //Exported function
1392 case 'P': return EabiCallCallingConvention;
1393 case 'Q': return VectorCallCallingConvention;
1394 case 'S': return SwiftCallingConvention;
1395 case 'W': return SwiftAsyncCallingConvention;
1396 default:throw DemangleException();
1397 }
1398}
1399
1400set<BNPointerSuffix> Demangle::DemanglePointerSuffix()
1401{

Callers

nothing calls this directly

Calls 4

LogDebugMethod · 0.80
DemangleExceptionClass · 0.70
GetRawMethod · 0.45
ReadMethod · 0.45

Tested by

no test coverage detected