aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/clang/AST/ASTContext.h5
-rw-r--r--lib/AST/ASTContext.cpp16
2 files changed, 11 insertions, 10 deletions
diff --git a/include/clang/AST/ASTContext.h b/include/clang/AST/ASTContext.h
index 1ba2400e65..d559feed17 100644
--- a/include/clang/AST/ASTContext.h
+++ b/include/clang/AST/ASTContext.h
@@ -636,8 +636,9 @@ public:
/// the same selector and is of the same kind (class or instance).
/// A method in an implementation is not considered as overriding the same
/// method in the interface or its categories.
- void getOverriddenMethods(const NamedDecl *Method,
- SmallVectorImpl<const NamedDecl *> &Overridden);
+ void getOverriddenMethods(
+ const NamedDecl *Method,
+ SmallVectorImpl<const NamedDecl *> &Overridden) const;
/// \brief Notify the AST context that a new import declaration has been
/// parsed or implicitly created within this translation unit.
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 71764dbd97..2f7288109c 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -411,13 +411,12 @@ comments::FullComment *ASTContext::getCommentForDecl(
const RawComment *RC = getRawCommentForAnyRedecl(D, &OriginalDecl);
if (!RC) {
if (isa<ObjCMethodDecl>(D) || isa<FunctionDecl>(D)) {
- SmallVector<const NamedDecl*, 8> overridden;
+ SmallVector<const NamedDecl*, 8> Overridden;
if (const ObjCMethodDecl *OMD = dyn_cast<ObjCMethodDecl>(D))
- addRedeclaredMethods(OMD, overridden);
- const_cast<ASTContext *>(this)->getOverriddenMethods(dyn_cast<NamedDecl>(D),
- overridden);
- for (unsigned i = 0, e = overridden.size(); i < e; i++) {
- if (comments::FullComment *FC = getCommentForDecl(overridden[i], PP)) {
+ addRedeclaredMethods(OMD, Overridden);
+ getOverriddenMethods(dyn_cast<NamedDecl>(D), Overridden);
+ for (unsigned i = 0, e = Overridden.size(); i < e; i++) {
+ if (comments::FullComment *FC = getCommentForDecl(Overridden[i], PP)) {
comments::FullComment *CFC = cloneFullComment(FC, D);
return CFC;
}
@@ -1082,8 +1081,9 @@ void ASTContext::addOverriddenMethod(const CXXMethodDecl *Method,
OverriddenMethods[Method].push_back(Overridden);
}
-void ASTContext::getOverriddenMethods(const NamedDecl *D,
- SmallVectorImpl<const NamedDecl *> &Overridden) {
+void ASTContext::getOverriddenMethods(
+ const NamedDecl *D,
+ SmallVectorImpl<const NamedDecl *> &Overridden) const {
assert(D);
if (const CXXMethodDecl *CXXMethod = dyn_cast<CXXMethodDecl>(D)) {