diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2012-10-10 18:34:52 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-10-10 18:34:52 +0000 |
commit | 1c883b9b57001a73bc1f3db7536d2555eb78de5a (patch) | |
tree | 2e00f167f2bb742ff2620d9efad6ce2e1e9cfe06 /clang/lib/AST/CommentSema.cpp | |
parent | 4f465cff8a1591a821d13c7fb34bfc56c1d1d96f (diff) | |
download | bcm5719-llvm-1c883b9b57001a73bc1f3db7536d2555eb78de5a.tar.gz bcm5719-llvm-1c883b9b57001a73bc1f3db7536d2555eb78de5a.zip |
[Doc parsing] This patch searches overridden objc/c++
methods looking for documentation on a particular base
class inherited by any method that overrides the base class.
In case of redeclaration, as when objc method is defined
in the implementation, it also looks up for documentation
in class/class extension being redeclared.
llvm-svn: 165643
Diffstat (limited to 'clang/lib/AST/CommentSema.cpp')
-rw-r--r-- | clang/lib/AST/CommentSema.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/AST/CommentSema.cpp b/clang/lib/AST/CommentSema.cpp index dd746ad1196..59dc6c72955 100644 --- a/clang/lib/AST/CommentSema.cpp +++ b/clang/lib/AST/CommentSema.cpp @@ -36,7 +36,7 @@ void Sema::setDecl(const Decl *D) { return; ThisDeclInfo = new (Allocator) DeclInfo; - ThisDeclInfo->ThisDecl = D; + ThisDeclInfo->CommentDecl = D; ThisDeclInfo->IsFilled = false; } @@ -413,7 +413,7 @@ HTMLEndTagComment *Sema::actOnHTMLEndTag(SourceLocation LocBegin, FullComment *Sema::actOnFullComment( ArrayRef<BlockContentComment *> Blocks) { - FullComment *FC = new (Allocator) FullComment(Blocks, ThisDeclInfo); + FullComment *FC = new (Allocator) FullComment(Blocks, ThisDeclInfo, 0); resolveParamCommandIndexes(FC); return FC; } @@ -441,7 +441,7 @@ void Sema::checkReturnsCommand(const BlockCommandComment *Command) { if (isFunctionDecl()) { if (ThisDeclInfo->ResultType->isVoidType()) { unsigned DiagKind; - switch (ThisDeclInfo->ThisDecl->getKind()) { + switch (ThisDeclInfo->CommentDecl->getKind()) { default: if (ThisDeclInfo->IsObjCMethod) DiagKind = 3; @@ -508,7 +508,7 @@ void Sema::checkDeprecatedCommand(const BlockCommandComment *Command) { if (!Traits.getCommandInfo(Command->getCommandID())->IsDeprecatedCommand) return; - const Decl *D = ThisDeclInfo->ThisDecl; + const Decl *D = ThisDeclInfo->CommentDecl; if (!D) return; @@ -574,7 +574,7 @@ void Sema::resolveParamCommandIndexes(const FullComment *FC) { ParamCommandComment *PCC = dyn_cast<ParamCommandComment>(*I); if (!PCC || !PCC->hasParamName()) continue; - StringRef ParamName = PCC->getParamName(); + StringRef ParamName = PCC->getParamName(0); // Check that referenced parameter name is in the function decl. const unsigned ResolvedParamIndex = resolveParmVarReference(ParamName, @@ -609,7 +609,7 @@ void Sema::resolveParamCommandIndexes(const FullComment *FC) { const ParamCommandComment *PCC = UnresolvedParamCommands[i]; SourceRange ArgRange = PCC->getParamNameRange(); - StringRef ParamName = PCC->getParamName(); + StringRef ParamName = PCC->getParamName(0); Diag(ArgRange.getBegin(), diag::warn_doc_param_not_found) << ParamName << ArgRange; |