@@ -202,19 +202,22 @@ void clang::EmitClangSACheckers(const RecordKeeper &Records, raw_ostream &OS) {
202202
203203 // Emit a package option.
204204 //
205- // PACKAGE_OPTION(OPTIONTYPE, PACKAGENAME, OPTIONNAME, DESCRIPTION, DEFAULT)
206- // - OPTIONTYPE: Type of the option, whether it's integer or boolean etc.
205+ // PACKAGE_OPTION(TYPE, FULLNAME, CMDFLAG, DESC, DEFAULT_VAL,
206+ // DEVELOPMENT_STATUS, IS_HIDDEN)
207+ // - TYPE: Type of the option, whether it's integer or boolean etc.
207208 // This is important for validating user input. Note that
208209 // it's a string, rather than an actual type: since we can
209210 // load checkers runtime, we can't use template hackery for
210211 // sorting this out compile-time.
211- // - PACKAGENAME: Name of the package.
212- // - OPTIONNAME: Name of the option.
213- // - DESCRIPTION
214- // - DEFAULT: The default value for this option.
212+ // - FULLNAME: Name of the package.
213+ // - CMDFLAG: Name of the option.
214+ // - DESC: The description of the option.
215+ // - DEFAULT_VAL: The default value for this option as a string.
216+ // - DEVELOPMENT_STATUS: "released" or "alpha".
217+ // - IS_HIDDEN: Boolean (true or false) marking if the option is hidden.
215218 //
216219 // The full option can be specified in the command like this:
217- // -analyzer-config PACKAGENAME:OPTIONNAME =VALUE
220+ // -analyzer-config FULLNAME:CMDFLAG =VALUE
218221 OS << " \n "
219222 " #ifdef GET_PACKAGE_OPTIONS\n " ;
220223 for (const Record *Package : packages) {
@@ -233,12 +236,21 @@ void clang::EmitClangSACheckers(const RecordKeeper &Records, raw_ostream &OS) {
233236
234237 // Emit checkers.
235238 //
236- // CHECKER(FULLNAME, CLASS, HELPTEXT)
239+ // CHECKER(FULLNAME, CLASS, HELPTEXT, DOC_URI, IS_HIDDEN )
237240 // - FULLNAME: The full name of the checker, including packages, e.g.:
238241 // alpha.cplusplus.UninitializedObject
239- // - CLASS: The name of the checker, with "Checker" appended, e.g.:
240- // UninitializedObjectChecker
242+ // - CLASS: The common ending of the name of the register... and
243+ // shouldRegister... functions. Traditionally coincides with the
244+ // name of the class that implements the checker, but can be
245+ // anything else e.g. in checker families.
241246 // - HELPTEXT: The description of the checker.
247+ // - DOC_URI: If the checker is NotDocumented, an empty string; if the
248+ // checker HasDocumentation, the concatenation of the fixed URL
249+ // https://clang.llvm.org/docs/analyzer/checkers.html# and
250+ // a html id derived from the full name by writing '-' instead
251+ // of '.' and lowercasing.
252+ // - IS_HIDDEN: Boolean (true or false) marking if the checker is hidden.
253+
242254 OS << " \n "
243255 " #ifdef GET_CHECKERS\n "
244256 " \n " ;
@@ -300,19 +312,22 @@ void clang::EmitClangSACheckers(const RecordKeeper &Records, raw_ostream &OS) {
300312
301313 // Emit a package option.
302314 //
303- // CHECKER_OPTION(OPTIONTYPE, CHECKERNAME, OPTIONNAME, DESCRIPTION, DEFAULT)
304- // - OPTIONTYPE: Type of the option, whether it's integer or boolean etc.
315+ // CHECKER_OPTION(TYPE, FULLNAME, CMDFLAG, DESC, DEFAULT_VAL,
316+ // DEVELOPMENT_STATUS, IS_HIDDEN)
317+ // - TYPE: Type of the option, whether it's integer or boolean etc.
305318 // This is important for validating user input. Note that
306319 // it's a string, rather than an actual type: since we can
307320 // load checkers runtime, we can't use template hackery for
308321 // sorting this out compile-time.
309- // - CHECKERNAME: Name of the package.
310- // - OPTIONNAME: Name of the option.
311- // - DESCRIPTION
312- // - DEFAULT: The default value for this option.
322+ // - FULLNAME: Name of the checker.
323+ // - CMDFLAG: Name of the option.
324+ // - DESC: The description of the option.
325+ // - DEFAULT_VAL: The default value for this option as a string.
326+ // - DEVELOPMENT_STATUS: "released" or "alpha".
327+ // - IS_HIDDEN: Boolean (true or false) marking if the option is hidden.
313328 //
314329 // The full option can be specified in the command like this:
315- // -analyzer-config CHECKERNAME:OPTIONNAME =VALUE
330+ // -analyzer-config FULLNAME:CMDFLAG =VALUE
316331 OS << " \n "
317332 " #ifdef GET_CHECKER_OPTIONS\n " ;
318333 for (const Record *Checker : checkers) {
0 commit comments