forked from OSchip/llvm-project
documentation comment parsing. Added couple of
top-level HeaderDoc tags @functiongroup and @methodgroup to doc. tags recognized. // rdar://12379114 llvm-svn: 177358
This commit is contained in:
parent
b6970267ad
commit
abbcbaeb4c
|
@ -213,7 +213,9 @@ def Union : RecordLikeDeclarationVerbatimLineCommand<"union">;
|
||||||
def Category : DeclarationVerbatimLineCommand<"category">;
|
def Category : DeclarationVerbatimLineCommand<"category">;
|
||||||
def Template : DeclarationVerbatimLineCommand<"template">;
|
def Template : DeclarationVerbatimLineCommand<"template">;
|
||||||
def Function : FunctionDeclarationVerbatimLineCommand<"function">;
|
def Function : FunctionDeclarationVerbatimLineCommand<"function">;
|
||||||
|
def FunctionGroup : FunctionDeclarationVerbatimLineCommand<"functiongroup">;
|
||||||
def Method : FunctionDeclarationVerbatimLineCommand<"method">;
|
def Method : FunctionDeclarationVerbatimLineCommand<"method">;
|
||||||
|
def MethodGroup : FunctionDeclarationVerbatimLineCommand<"methodgroup">;
|
||||||
def Callback : FunctionDeclarationVerbatimLineCommand<"callback">;
|
def Callback : FunctionDeclarationVerbatimLineCommand<"callback">;
|
||||||
def Const : DeclarationVerbatimLineCommand<"const">;
|
def Const : DeclarationVerbatimLineCommand<"const">;
|
||||||
def Constant : DeclarationVerbatimLineCommand<"constant">;
|
def Constant : DeclarationVerbatimLineCommand<"constant">;
|
||||||
|
|
|
@ -74,9 +74,10 @@ def warn_doc_param_not_attached_to_a_function_decl : Warning<
|
||||||
InGroup<Documentation>, DefaultIgnore;
|
InGroup<Documentation>, DefaultIgnore;
|
||||||
|
|
||||||
def warn_doc_function_method_decl_mismatch : Warning<
|
def warn_doc_function_method_decl_mismatch : Warning<
|
||||||
"'%select{\\|@}0%select{function|method|callback}1' command should be "
|
"'%select{\\|@}0%select{function|functiongroup|method|methodgroup|callback}1' "
|
||||||
"used in a comment attached to "
|
"command should be used in a comment attached to "
|
||||||
"%select{a function|an Objective-C method|a pointer to function}2 declaration">,
|
"%select{a function|a function|an Objective-C method|an Objective-C method|"
|
||||||
|
"a pointer to function}2 declaration">,
|
||||||
InGroup<Documentation>, DefaultIgnore;
|
InGroup<Documentation>, DefaultIgnore;
|
||||||
|
|
||||||
def warn_doc_api_container_decl_mismatch : Warning<
|
def warn_doc_api_container_decl_mismatch : Warning<
|
||||||
|
|
|
@ -101,11 +101,17 @@ void Sema::checkFunctionDeclVerbatimLine(const BlockCommandComment *Comment) {
|
||||||
case CommandTraits::KCI_function:
|
case CommandTraits::KCI_function:
|
||||||
DiagSelect = !isAnyFunctionDecl() ? 1 : 0;
|
DiagSelect = !isAnyFunctionDecl() ? 1 : 0;
|
||||||
break;
|
break;
|
||||||
|
case CommandTraits::KCI_functiongroup:
|
||||||
|
DiagSelect = !isAnyFunctionDecl() ? 2 : 0;
|
||||||
|
break;
|
||||||
case CommandTraits::KCI_method:
|
case CommandTraits::KCI_method:
|
||||||
DiagSelect = !isObjCMethodDecl() ? 2 : 0;
|
DiagSelect = !isObjCMethodDecl() ? 3 : 0;
|
||||||
|
break;
|
||||||
|
case CommandTraits::KCI_methodgroup:
|
||||||
|
DiagSelect = !isObjCMethodDecl() ? 4 : 0;
|
||||||
break;
|
break;
|
||||||
case CommandTraits::KCI_callback:
|
case CommandTraits::KCI_callback:
|
||||||
DiagSelect = !isFunctionPointerVarDecl() ? 3 : 0;
|
DiagSelect = !isFunctionPointerVarDecl() ? 5 : 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
DiagSelect = 0;
|
DiagSelect = 0;
|
||||||
|
|
|
@ -123,6 +123,20 @@ typedef id OBJ;
|
||||||
}
|
}
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
// rdar://12379114
|
||||||
|
// expected-warning@+4 {{'@methodgroup' command should be used in a comment attached to an Objective-C method declaration}}
|
||||||
|
// expected-warning@+6 {{'@method' command should be used in a comment attached to an Objective-C method declaratio}}
|
||||||
|
@interface rdar12379114
|
||||||
|
/*!
|
||||||
|
@methodgroup Creating a request
|
||||||
|
*/
|
||||||
|
/*!
|
||||||
|
@method initWithTimeout is the 2nd method
|
||||||
|
*/
|
||||||
|
typedef unsigned int NSTimeInterval;
|
||||||
|
- (id)initWithTimeout:(NSTimeInterval)timeout;
|
||||||
|
@end
|
||||||
|
|
||||||
// expected-warning@+2 {{'@protocol' command should not be used in a comment attached to a non-protocol declaration}}
|
// expected-warning@+2 {{'@protocol' command should not be used in a comment attached to a non-protocol declaration}}
|
||||||
/*!
|
/*!
|
||||||
@protocol PROTO
|
@protocol PROTO
|
||||||
|
|
Loading…
Reference in New Issue