Skip to content

Commit 218e8e6

Browse files
committed
add toString overload for AccessKind
1 parent 818af05 commit 218e8e6

File tree

4 files changed

+27
-31
lines changed

4 files changed

+27
-31
lines changed

include/mrdox/Metadata/Symbols.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
#include <cstdint>
2020
#include <cstring>
2121
#include <compare>
22+
#include <string_view>
2223

2324
namespace clang {
2425
namespace mrdox {
@@ -138,6 +139,10 @@ enum class AccessKind
138139
None
139140
};
140141

142+
MRDOX_DECL
143+
std::string_view
144+
toString(AccessKind access);
145+
141146
/** Return the result of comparing s0 to s1.
142147
143148
This function returns true if the string

source/-XML/XMLTags.hpp

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,22 +108,9 @@ struct Attribute
108108
Attribute(
109109
AccessKind access)
110110
: name("access")
111-
, value(
112-
[access]
113-
{
114-
switch(access)
115-
{
116-
case AccessKind::None:
117-
return std::string();
118-
case AccessKind::Public: return std::string("public");
119-
case AccessKind::Protected: return std::string("protected");
120-
case AccessKind::Private: return std::string("private");
121-
default:
122-
// unknown Access
123-
MRDOX_UNREACHABLE();
124-
}
125-
}())
126-
, pred(access == AccessKind::Private || access == AccessKind::Protected)
111+
, value(toString(access))
112+
, pred(access == AccessKind::Private ||
113+
access == AccessKind::Protected)
127114
{
128115
}
129116

source/-adoc/AdocWriter.hpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -23,21 +23,6 @@ namespace clang {
2323
namespace mrdox {
2424
namespace adoc {
2525

26-
inline
27-
llvm::StringRef
28-
toString(AccessKind access) noexcept
29-
{
30-
switch(access)
31-
{
32-
case AccessKind::Public: return "public";
33-
case AccessKind::Protected: return "protected";
34-
case AccessKind::Private: return "private";
35-
default:
36-
// unknown access
37-
MRDOX_UNREACHABLE();
38-
}
39-
}
40-
4126
class AdocWriter
4227
{
4328
template<class T>

source/Metadata/Symbols.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,25 @@
1515
namespace clang {
1616
namespace mrdox {
1717

18+
std::string_view
19+
toString(AccessKind access)
20+
{
21+
switch(access)
22+
{
23+
case AccessKind::Public:
24+
return "public";
25+
case AccessKind::Private:
26+
return "private";
27+
case AccessKind::Protected:
28+
return "protected";
29+
case AccessKind::None:
30+
return "none";
31+
default:
32+
// unknown AccessKind
33+
MRDOX_UNREACHABLE();
34+
}
35+
}
36+
1837
// Better have 8 bits per byte, otherwise
1938
// we are going to be having some problems...
2039
static_assert(CHAR_BIT == 8);

0 commit comments

Comments
 (0)