1 // RUN: %check_clang_tidy %s readability-static-accessed-through-instance %t -- -config="{CheckOptions: [{key: readability-static-accessed-through-instance.NameSpecifierNestingThreshold, value: 4}]}" --
2 
3 // Nested specifiers
4 namespace M {
5 namespace N {
6 struct V {
7   static int v;
8   struct T {
9     static int t;
10     struct U {
11       static int u;
12     };
13   };
14 };
15 }
16 }
17 
f(M::N::V::T::U u)18 void f(M::N::V::T::U u) {
19   M::N::V v;
20   v.v = 12;
21   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
22   // CHECK-FIXES: {{^}}  M::N::V::v = 12;{{$}}
23 
24   M::N::V::T w;
25   w.t = 12;
26   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
27   // CHECK-FIXES: {{^}}  M::N::V::T::t = 12;{{$}}
28 
29   // u.u is not changed, because the nesting level is over 4
30   u.u = 12;
31   // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: static member
32   // CHECK-FIXES: {{^}}  u.u = 12;{{$}}
33 }
34