r176509 - doc parsing. Add @method and @callback for

Dmitri Gribenko gribozavr at gmail.com
Tue Mar 5 12:24:40 PST 2013


On Tue, Mar 5, 2013 at 10:18 PM, jahanian <fjahanian at apple.com> wrote:
>
> On Mar 5, 2013, at 12:10 PM, Dmitri Gribenko <gribozavr at gmail.com> wrote:
>
> On Tue, Mar 5, 2013 at 9:40 PM, Fariborz Jahanian <fjahanian at apple.com>
> wrote:
>
> Author: fjahanian
> Date: Tue Mar  5 13:40:47 2013
> New Revision: 176509
>
> URL: http://llvm.org/viewvc/llvm-project?rev=176509&view=rev
> Log:
> doc parsing. Add @method and @callback for
> checkings and few other refactoring/cleanup.
> // rdar://13094352.
>
> Modified:
>    cfe/trunk/include/clang/AST/CommentCommands.td
>    cfe/trunk/include/clang/AST/CommentSema.h
>    cfe/trunk/include/clang/Basic/DiagnosticCommentKinds.td
>    cfe/trunk/lib/AST/CommentParser.cpp
>    cfe/trunk/lib/AST/CommentSema.cpp
>    cfe/trunk/test/Sema/warn-documentation.cpp
>    cfe/trunk/test/Sema/warn-documentation.m
>
> Modified: cfe/trunk/include/clang/AST/CommentCommands.td
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CommentCommands.td?rev=176509&r1=176508&r2=176509&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/AST/CommentCommands.td (original)
> +++ cfe/trunk/include/clang/AST/CommentCommands.td Tue Mar  5 13:40:47 2013
> @@ -187,8 +187,8 @@ def Protocol  : DeclarationVerbatimLineC
> def Category  : DeclarationVerbatimLineCommand<"category">;
> def Template  : DeclarationVerbatimLineCommand<"template">;
> def Function  : FunctionDeclarationVerbatimLineCommand<"function">;
> -def Method    : DeclarationVerbatimLineCommand<"method">;
> -def Callback  : DeclarationVerbatimLineCommand<"callback">;
> +def Method    : FunctionDeclarationVerbatimLineCommand<"method">;
> +def Callback  : FunctionDeclarationVerbatimLineCommand<"callback">;
> def Const     : DeclarationVerbatimLineCommand<"const">;
> def Constant  : DeclarationVerbatimLineCommand<"constant">;
> def Struct    : DeclarationVerbatimLineCommand<"struct">;
>
> Modified: cfe/trunk/include/clang/AST/CommentSema.h
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/CommentSema.h?rev=176509&r1=176508&r2=176509&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/AST/CommentSema.h (original)
> +++ cfe/trunk/include/clang/AST/CommentSema.h Tue Mar  5 13:40:47 2013
> @@ -206,6 +206,7 @@ public:
>   void resolveParamCommandIndexes(const FullComment *FC);
>
>   bool isFunctionDecl();
> +  bool isCallbackDecl();
>
>
> Please add a documentation comment that this function returns true for
> variables that are function pointers.  Or rename it to
> isFunctionPointerVarDecl() -- the latter is better, IMHO.
>
>   bool isObjCPropertyDecl();
>   bool isTemplateOrSpecialization();
>
>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticCommentKinds.td
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticCommentKinds.td?rev=176509&r1=176508&r2=176509&view=diff
> ==============================================================================
> --- cfe/trunk/include/clang/Basic/DiagnosticCommentKinds.td (original)
> +++ cfe/trunk/include/clang/Basic/DiagnosticCommentKinds.td Tue Mar  5
> 13:40:47 2013
> @@ -74,8 +74,8 @@ def warn_doc_param_not_attached_to_a_fun
>   InGroup<Documentation>, DefaultIgnore;
>
> def warn_doc_function_not_attached_to_a_function_decl : Warning<
> -  "'@function' command used in a comment that is attached to "
> -  "a non-function declaration immediately following it">,
> +  "'%select{\\|@}0%1' command used in a comment that is attached to a
> non-%2 "
> +  "declaration immediately following it">,
>
>
> Please replace %2 with %select.  We should not pass translatable
> strings from .cpp into diagnostics.  Or you could also reword the text
>
>
> Why not? I have seen it being done all the time. Can you point to a coding
> standard ?

That code should be fixed then, too :)

It is not in the coding standard, but in the documentation:

http://clang.llvm.org/docs/InternalsManual.html#the-format-string

> Diagnostics should never take random English strings as arguments: you shouldn’t use “you have a problem with %0” and pass in things like “your argument” or “your return value” as arguments.

Dmitri

-- 
main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
(j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/




More information about the cfe-commits mailing list