#include "SVF-FE/CPPUtil.h"
#include "Util/SVFUtil.h"
#include "SVF-FE/LLVMUtil.h"
#include <cxxabi.h>
Go to the source code of this file.
◆ getBeforeParenthesis()
static string getBeforeParenthesis |
( |
const string & |
name | ) |
|
|
static |
Definition at line 86 of file CPPUtil.cpp.
88 size_t lastRightParen = name.rfind(
")");
89 assert(lastRightParen > 0);
91 s32_t paren_num = 1, pos;
92 for (pos = lastRightParen - 1; pos >= 0; pos--)
101 return name.substr(0, pos);
◆ handleThunkFunction()
Definition at line 135 of file CPPUtil.cpp.
147 for (
unsigned i = 0; i < thunkPrefixes.size(); i++) {
148 auto prefix = thunkPrefixes[i];
149 if (dname.
className.size() > prefix.size() &&
150 dname.
className.compare(0, prefix.size(), prefix) == 0)
const string NVThunkFunLabel
const string VThunkFuncLabel
◆ isOperOverload()
static bool isOperOverload |
( |
const string |
name | ) |
|
|
static |
Definition at line 56 of file CPPUtil.cpp.
58 s32_t leftnum = 0, rightnum = 0;
59 string subname = name;
60 size_t leftpos, rightpos;
61 leftpos = subname.find(
"<");
62 while (leftpos != string::npos)
64 subname = subname.substr(leftpos+1);
65 leftpos = subname.find(
"<");
69 rightpos = subname.find(
">");
70 while (rightpos != string::npos)
72 subname = subname.substr(rightpos+1);
73 rightpos = subname.find(
">");
76 if (leftnum != rightnum)
◆ clsName
const string clsName = "class." |
◆ NVThunkFunLabel
const string NVThunkFunLabel = "non-virtual thunk to " |
◆ structName
const string structName = "struct." |
◆ vfunPreLabel
const string vfunPreLabel = "_Z" |
◆ vtblLabelAfterDemangle
const string vtblLabelAfterDemangle = "vtable for " |
◆ vtblLabelBeforeDemangle
const string vtblLabelBeforeDemangle = "_ZTV" |
◆ VThunkFuncLabel
const string VThunkFuncLabel = "virtual thunk to " |