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