#include <CppUtil.h>
Definition at line 77 of file CppUtil.h.
◆ demangle()
Implements SVF::cppUtil::CXXABI.
Definition at line 1147 of file CppUtil.cpp.
1148{
1149 DemangledName
dname;
1150 dname.isThunkFunc =
false;
1151
1154 {
1155 dname.className =
"";
1156 dname.funcName =
"";
1158 }
1159
1160 if (
realnameStr.find(
"[thunk]") != std::string::npos ||
1161 realnameStr.find(
"`vcall'") != std::string::npos ||
1162 realnameStr.find(
"`adjustor'") != std::string::npos)
1163 {
1164 dname.isThunkFunc =
true;
1165 }
1166
1170 {
1171 dname.className =
"";
1172 dname.funcName =
"";
1173 }
1174 else
1175 {
1178 if (
colon == std::string::npos)
1179 {
1180 dname.className =
"";
1181 dname.funcName =
"";
1182 }
1183 else
1184 {
1187
1191 {
1194 {
1196 }
1198 {
1200 }
1201
1203 {
1205 }
1206 else
1207 {
1208 if (std::isalnum(
c) ||
c ==
'_' ||
c ==
':' ||
c ==
'<' ||
1210 {
1212 }
1213 else
1214 {
1215 break;
1216 }
1217 }
1218 }
1220 }
1221 }
1222
1224}
static bool isOperOverload(const std::string &name)
static std::string getBeforeParenthesis(const std::string &name)
std::string getBeforeBrackets(const std::string &name)
llvm::IRBuilder IRBuilder
◆ extractClassName()
| std::string SVF::cppUtil::MSVCABI::extractClassName |
( |
const std::string & |
name | ) |
|
|
overridevirtual |
Implements SVF::cppUtil::CXXABI.
Definition at line 1127 of file CppUtil.cpp.
1128{
1129 std::string className = "";
1132 if (
pos == std::string::npos)
1133 {
1135 }
1136 if (
pos != std::string::npos)
1137 {
1139 if (className.compare(0, 6, "const ") == 0)
1140 {
1141 className = className.substr(6);
1142 }
1143 }
1144 return className;
1145}
◆ isConstructor()
| bool SVF::cppUtil::MSVCABI::isConstructor |
( |
const std::string & |
name | ) |
|
|
overridevirtual |
◆ isDestructor()
| bool SVF::cppUtil::MSVCABI::isDestructor |
( |
const std::string & |
name | ) |
|
|
overridevirtual |
◆ isTypeInfo()
| bool SVF::cppUtil::MSVCABI::isTypeInfo |
( |
const std::string & |
name | ) |
|
|
overridevirtual |
◆ isVtable()
| bool SVF::cppUtil::MSVCABI::isVtable |
( |
const std::string & |
name | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following files:
- /home/runner/work/SVF/SVF/svf-llvm/include/SVF-LLVM/CppUtil.h
- /home/runner/work/SVF/SVF/svf-llvm/lib/CppUtil.cpp