1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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;{{$}}
}
|