Added handling of method parameters default values

This commit is contained in:
Bartek Kryza
2021-03-18 20:33:46 +01:00
parent fcafef4b85
commit 3c0e9d51d2
7 changed files with 46 additions and 12 deletions

View File

@@ -194,6 +194,8 @@ public:
return clang_CXXMethod_isDefaulted(m_cursor);
}
bool is_method_parameter() const { return kind() == CXCursor_ParmDecl; }
CXVisibilityKind visibitity() const
{
return clang_getCursorVisibility(m_cursor);
@@ -266,6 +268,20 @@ public:
return res;
}
std::string default_value() const
{
assert(is_method_parameter());
auto toks = tokenize();
std::string res;
auto it = std::find(toks.begin(), toks.end(), "=");
if (it != toks.end()) {
res = fmt::format("{}", fmt::join(it + 1, toks.end(), ""));
}
return res;
}
std::vector<std::string> tokenize_template_parameters() const
{
auto toks = tokenize();