xref: /minix3/external/bsd/llvm/dist/clang/include/clang/Basic/DiagnosticCommentKinds.td (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1//==--- DiagnosticCommentKinds.td - diagnostics related to comments -------===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10let Component = "Comment" in {
11let CategoryName = "Documentation Issue" in {
12
13// HTML parsing errors.  These are under -Wdocumentation to make sure the user
14// knows that we didn't parse something as they might expect.
15
16def warn_doc_html_start_tag_expected_quoted_string : Warning<
17  "expected quoted string after equals sign">,
18  InGroup<Documentation>, DefaultIgnore;
19
20def warn_doc_html_start_tag_expected_ident_or_greater : Warning<
21  "HTML start tag prematurely ended, expected attribute name or '>'">,
22  InGroup<Documentation>, DefaultIgnore;
23
24def note_doc_html_tag_started_here : Note<
25  "HTML tag started here">;
26
27// HTML semantic errors
28
29def warn_doc_html_end_forbidden : Warning<
30  "HTML end tag '%0' is forbidden">,
31  InGroup<DocumentationHTML>, DefaultIgnore;
32
33def warn_doc_html_end_unbalanced : Warning<
34  "HTML end tag does not match any start tag">,
35  InGroup<DocumentationHTML>, DefaultIgnore;
36
37def warn_doc_html_start_end_mismatch : Warning<
38  "HTML start tag '%0' closed by '%1'">,
39  InGroup<DocumentationHTML>, DefaultIgnore;
40
41def note_doc_html_end_tag : Note<
42  "end tag">;
43
44def warn_doc_html_missing_end_tag : Warning<
45  "HTML tag '%0' requires an end tag">,
46  InGroup<DocumentationHTML>, DefaultIgnore;
47
48// Commands
49
50def warn_doc_block_command_empty_paragraph : Warning<
51  "empty paragraph passed to '%select{\\|@}0%1' command">,
52  InGroup<Documentation>, DefaultIgnore;
53
54def warn_doc_block_command_duplicate : Warning<
55  "duplicated command '%select{\\|@}0%1'">,
56  InGroup<Documentation>, DefaultIgnore;
57
58def note_doc_block_command_previous : Note<
59  "previous command '%select{\\|@}0%1' here">;
60
61def note_doc_block_command_previous_alias : Note<
62  "previous command '%select{\\|@}0%1' (an alias of '\\%2') here">;
63
64// \param command
65
66def warn_doc_param_invalid_direction : Warning<
67  "unrecognized parameter passing direction, "
68  "valid directions are '[in]', '[out]' and '[in,out]'">,
69  InGroup<Documentation>, DefaultIgnore;
70
71def warn_doc_param_spaces_in_direction : Warning<
72  "whitespace is not allowed in parameter passing direction">,
73  InGroup<DocumentationPedantic>, DefaultIgnore;
74
75def warn_doc_param_not_attached_to_a_function_decl : Warning<
76  "'%select{\\|@}0param' command used in a comment that is not attached to "
77  "a function declaration">,
78  InGroup<Documentation>, DefaultIgnore;
79
80def warn_doc_function_method_decl_mismatch : Warning<
81  "'%select{\\|@}0%select{function|functiongroup|method|methodgroup|callback}1' "
82  "command should be used in a comment attached to "
83  "%select{a function|a function|an Objective-C method|an Objective-C method|"
84  "a pointer to function}2 declaration">,
85  InGroup<Documentation>, DefaultIgnore;
86
87def warn_doc_api_container_decl_mismatch : Warning<
88  "'%select{\\|@}0%select{class|interface|protocol|struct|union}1' "
89  "command should not be used in a comment attached to a "
90  "non-%select{class|interface|protocol|struct|union}2 declaration">,
91  InGroup<Documentation>, DefaultIgnore;
92
93def warn_doc_container_decl_mismatch : Warning<
94  "'%select{\\|@}0%select{classdesign|coclass|dependency|helper"
95  "|helperclass|helps|instancesize|ownership|performance|security|superclass}1' "
96  "command should not be used in a comment attached to a non-container declaration">,
97  InGroup<Documentation>, DefaultIgnore;
98
99def warn_doc_param_duplicate : Warning<
100  "parameter '%0' is already documented">,
101  InGroup<Documentation>, DefaultIgnore;
102
103def note_doc_param_previous : Note<
104  "previous documentation">;
105
106def warn_doc_param_not_found : Warning<
107  "parameter '%0' not found in the function declaration">,
108  InGroup<Documentation>, DefaultIgnore;
109
110def note_doc_param_name_suggestion : Note<
111  "did you mean '%0'?">;
112
113// tparam command
114
115def warn_doc_tparam_not_attached_to_a_template_decl : Warning<
116  "'%select{\\|@}0tparam' command used in a comment that is not attached to "
117  "a template declaration">,
118  InGroup<Documentation>, DefaultIgnore;
119
120def warn_doc_tparam_duplicate : Warning<
121  "template parameter '%0' is already documented">,
122  InGroup<Documentation>, DefaultIgnore;
123
124def note_doc_tparam_previous : Note<
125  "previous documentation">;
126
127def warn_doc_tparam_not_found : Warning<
128  "template parameter '%0' not found in the template declaration">,
129  InGroup<Documentation>, DefaultIgnore;
130
131def note_doc_tparam_name_suggestion : Note<
132  "did you mean '%0'?">;
133
134// \returns command
135
136def warn_doc_returns_not_attached_to_a_function_decl : Warning<
137  "'%select{\\|@}0%1' command used in a comment that is not attached to "
138  "a function or method declaration">,
139  InGroup<Documentation>, DefaultIgnore;
140
141def warn_doc_returns_attached_to_a_void_function : Warning<
142  "'%select{\\|@}0%1' command used in a comment that is attached to a "
143  "%select{function returning void|constructor|destructor|"
144  "method returning void}2">,
145  InGroup<Documentation>, DefaultIgnore;
146
147// \deprecated command
148
149def warn_doc_deprecated_not_sync : Warning<
150  "declaration is marked with '\\deprecated' command but does not have "
151  "a deprecation attribute">,
152  InGroup<DocumentationDeprecatedSync>, DefaultIgnore;
153
154def note_add_deprecation_attr : Note<
155  "add a deprecation attribute to the declaration to silence this warning">;
156
157// verbatim block commands
158
159def warn_verbatim_block_end_without_start : Warning<
160  "'%select{\\|@}0%1' command does not terminate a verbatim text block">,
161  InGroup<Documentation>, DefaultIgnore;
162
163def warn_unknown_comment_command_name : Warning<
164  "unknown command tag name">,
165  InGroup<DocumentationUnknownCommand>, DefaultIgnore;
166
167def warn_correct_comment_command_name : Warning<
168  "unknown command tag name '%0'; did you mean '%1'?">,
169  InGroup<Documentation>, DefaultIgnore;
170
171} // end of documentation issue category
172} // end of AST component
173