@@ -31,10 +31,13 @@ namespace mrdox {
31
31
32
32
/* * The collection of declarations in extracted form.
33
33
*/
34
- class Corpus
34
+ class MRDOX_VISIBLE
35
+ Corpus
35
36
{
36
37
public:
37
- virtual ~Corpus () = default ;
38
+ MRDOX_DECL
39
+ virtual
40
+ ~Corpus () noexcept ;
38
41
39
42
// --------------------------------------------
40
43
@@ -46,20 +49,22 @@ class Corpus
46
49
47
50
/* * Return the list of all uniquely identified symbols.
48
51
*/
52
+ MRDOX_DECL
49
53
virtual
50
54
std::vector<SymbolID> const &
51
55
allSymbols () const noexcept = 0 ;
52
56
53
57
/* * Return the metadata for the global namespace.
54
58
*/
59
+ MRDOX_DECL
55
60
NamespaceInfo const &
56
61
globalNamespace () const noexcept ;
57
62
58
63
/* * Return the Info with the matching ID, or nullptr.
59
64
*/
60
65
/* * @{ */
61
- virtual Info* find (SymbolID const & id) noexcept = 0;
62
- virtual Info const * find (SymbolID const & id) const noexcept = 0;
66
+ MRDOX_DECL virtual Info* find (SymbolID const & id) noexcept = 0;
67
+ MRDOX_DECL virtual Info const * find (SymbolID const & id) const noexcept = 0;
63
68
/* * @} */
64
69
65
70
/* * Return true if an Info with the specified symbol ID exists.
@@ -86,22 +91,26 @@ class Corpus
86
91
*/
87
92
struct Visitor
88
93
{
89
- virtual ~Visitor () = default ;
90
- virtual bool visit (NamespaceInfo const &);
91
- virtual bool visit (RecordInfo const &);
92
- virtual bool visit (Overloads const &);
93
- virtual bool visit (FunctionInfo const &);
94
- virtual bool visit (TypedefInfo const &);
95
- virtual bool visit (EnumInfo const &);
94
+ MRDOX_DECL virtual ~Visitor () noexcept ;
95
+ MRDOX_DECL virtual bool visit (NamespaceInfo const &);
96
+ MRDOX_DECL virtual bool visit (RecordInfo const &);
97
+ MRDOX_DECL virtual bool visit (Overloads const &);
98
+ MRDOX_DECL virtual bool visit (FunctionInfo const &);
99
+ MRDOX_DECL virtual bool visit (TypedefInfo const &);
100
+ MRDOX_DECL virtual bool visit (EnumInfo const &);
96
101
};
97
102
98
103
/* * Visit the specified symbol ID or node.
99
104
*/
100
105
/* * @{ */
101
- [[nodiscard]] bool visit (SymbolID id, Visitor& f) const ;
102
- [[nodiscard]] bool visit (Scope const & I, Visitor& f) const ;
103
- [[nodiscard]] bool visitWithOverloads (Scope const & I, Visitor& f) const ;
104
- [[nodiscard]] bool visit (Info const & I, Visitor& f) const ;
106
+ MRDOX_DECL [[nodiscard]] bool visit (
107
+ SymbolID id, Visitor& f) const ;
108
+ MRDOX_DECL [[nodiscard]] bool visit (
109
+ Scope const & I, Visitor& f) const ;
110
+ MRDOX_DECL [[nodiscard]] bool visitWithOverloads (
111
+ Scope const & I, Visitor& f) const ;
112
+ MRDOX_DECL [[nodiscard]] bool visit (
113
+ Info const & I, Visitor& f) const ;
105
114
/* * @} */
106
115
107
116
// --------------------------------------------
@@ -113,6 +122,7 @@ class Corpus
113
122
@param R The diagnostic reporting object to
114
123
use for delivering errors and information.
115
124
*/
125
+ MRDOX_DECL
116
126
[[nodiscard]]
117
127
static
118
128
llvm::Expected<std::unique_ptr<Corpus>>
0 commit comments