forked from OSchip/llvm-project
[clang-tidy] Fix invalid fixit for readability-static-accessed-through-instance (bug 40544)
Summary: Fixed https://bugs.llvm.org/show_bug.cgi?id=40544 Before, we would generate a fixit like `(anonymous namespace)::Foo::fun();` for the added test case. Reviewers: aaron.ballman, alexfh, xazax.hun Subscribers: rnkovacs, cfe-commits Tags: #clang, #clang-tools-extra Differential Revision: https://reviews.llvm.org/D61874 llvm-svn: 360698
This commit is contained in:
parent
80c6e79602
commit
094584cd52
|
@ -67,6 +67,7 @@ void StaticAccessedThroughInstanceCheck::check(
|
|||
const ASTContext *AstContext = Result.Context;
|
||||
PrintingPolicy PrintingPolicyWithSupressedTag(AstContext->getLangOpts());
|
||||
PrintingPolicyWithSupressedTag.SuppressTagKeyword = true;
|
||||
PrintingPolicyWithSupressedTag.SuppressUnwrittenScope = true;
|
||||
std::string BaseTypeName =
|
||||
BaseType.getAsString(PrintingPolicyWithSupressedTag);
|
||||
|
||||
|
|
|
@ -220,3 +220,31 @@ int func(Qptr qp) {
|
|||
qp->y = 10; // OK, the overloaded operator might have side-effects.
|
||||
qp->K = 10; //
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct Anonymous {
|
||||
static int I;
|
||||
};
|
||||
}
|
||||
|
||||
void use_anonymous() {
|
||||
Anonymous Anon;
|
||||
Anon.I;
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
|
||||
// CHECK-FIXES: {{^}} Anonymous::I;{{$}}
|
||||
}
|
||||
|
||||
namespace Outer {
|
||||
inline namespace Inline {
|
||||
struct S {
|
||||
static int I;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
void use_inline() {
|
||||
Outer::S V;
|
||||
V.I;
|
||||
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
|
||||
// CHECK-FIXES: {{^}} Outer::S::I;{{$}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue