summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp
diff options
context:
space:
mode:
authorGabor Horvath <xazax.hun@gmail.com>2017-08-08 15:33:48 +0000
committerGabor Horvath <xazax.hun@gmail.com>2017-08-08 15:33:48 +0000
commit40b6512d9ef7c68cc0c6bb5521f29616f4f79264 (patch)
tree5d3de437ae77c131800c7fe00bfa4b4e4765e67d /clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp
parent741d21f958fc76222c7cc4c6183e293ff86d1e1b (diff)
downloadbcm5719-llvm-40b6512d9ef7c68cc0c6bb5521f29616f4f79264.tar.gz
bcm5719-llvm-40b6512d9ef7c68cc0c6bb5521f29616f4f79264.zip
[clang-tidy] Add new readability non-idiomatic static access check
Patch by: Lilla Barancsuk Differential Revision: https://reviews.llvm.org/D35937 llvm-svn: 310371
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp b/clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp
new file mode 100644
index 00000000000..03752497b40
--- /dev/null
+++ b/clang-tools-extra/test/clang-tidy/readability-static-accessed-through-instance-nesting-threshold.cpp
@@ -0,0 +1,33 @@
+// RUN: %check_clang_tidy %s readability-static-accessed-through-instance %t -- -config="{CheckOptions: [{key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold, value: 4}]}" --
+
+// Nested specifiers
+namespace M {
+namespace N {
+struct V {
+ static int v;
+ struct T {
+ static int t;
+ struct U {
+ static int u;
+ };
+ };
+};
+}
+}
+
+void f(M::N::V::T::U u) {
+ M::N::V v;
+ v.v = 12;
+ // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
+ // CHECK-FIXES: {{^}} M::N::V::v = 12;{{$}}
+
+ M::N::V::T w;
+ w.t = 12;
+ // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
+ // CHECK-FIXES: {{^}} M::N::V::T::t = 12;{{$}}
+
+ // u.u is not changed, because the nesting level is over 4
+ u.u = 12;
+ // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
+ // CHECK-FIXES: {{^}} u.u = 12;{{$}}
+}
OpenPOWER on IntegriCloud