0.6.0
C++ to UML diagram generator based on Clang
Loading...
Searching...
No Matches
src
common
visitor
comment
comment_visitor.h
Go to the documentation of this file.
1
/**
2
* @file src/common/visitor/comment/comment_visitor.h
3
*
4
* Copyright (c) 2021-2025 Bartek Kryza <bkryza@gmail.com>
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
#pragma once
19
20
#include <clang/AST/Comment.h>
21
#include <clang/Basic/SourceManager.h>
22
23
#include "
common/model/decorated_element.h
"
24
25
namespace
clanguml::common::visitor::comment
{
26
27
/**
28
* @brief Base class for comment visitors
29
*
30
* @embed{comment_visitor_hierarchy_class.svg}
31
*/
32
class
comment_visitor
{
33
public
:
34
comment_visitor
(clang::SourceManager &
source_manager
);
35
36
virtual
~comment_visitor
() =
default
;
37
38
/**
39
* Visit the comment in `decl` and extract it's contents to the diagram
40
* element.
41
*
42
* @param decl Clang's named declaration
43
* @param e Diagram element
44
*/
45
virtual
void
visit
(
46
const
clang::NamedDecl &decl,
common::model::decorated_element
&e) = 0;
47
48
/**
49
* Return reference to current source manager.
50
* @return Reference to source manager.
51
*/
52
clang::SourceManager &
source_manager
();
53
54
private
:
55
clang::SourceManager &
source_manager_
;
56
};
57
}
// namespace clanguml::common::visitor::comment
Copyright © 2022-present
Bartek Kryza
Generated by
1.9.7