1 // RUN: %clang_cc1 -triple x86_64-pc-linux -std=c++2a -ast-dump=json %s | FileCheck %s
10 inline namespace __1
{
17 namespace quux::inline frobble
{
20 // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
21 // using --filters=NamespaceDecl
23 // CHECK-NOT: {{^}}Dumping
24 // CHECK: "kind": "NamespaceDecl",
25 // CHECK-NEXT: "loc": {
26 // CHECK-NEXT: "offset": {{[0-9]+}},
27 // CHECK-NEXT: "file": "{{.*}}",
28 // CHECK-NEXT: "line": 3,
29 // CHECK-NEXT: "col": 11,
30 // CHECK-NEXT: "tokLen": 3
32 // CHECK-NEXT: "range": {
33 // CHECK-NEXT: "begin": {
34 // CHECK-NEXT: "offset": {{[0-9]+}},
35 // CHECK-NEXT: "col": 1,
36 // CHECK-NEXT: "tokLen": 9
38 // CHECK-NEXT: "end": {
39 // CHECK-NEXT: "offset": {{[0-9]+}},
40 // CHECK-NEXT: "line": 4,
41 // CHECK-NEXT: "col": 1,
42 // CHECK-NEXT: "tokLen": 1
45 // CHECK-NEXT: "name": "foo"
48 // CHECK-NOT: {{^}}Dumping
49 // CHECK: "kind": "NamespaceDecl",
50 // CHECK-NEXT: "loc": {
51 // CHECK-NEXT: "offset": {{[0-9]+}},
52 // CHECK-NEXT: "line": 6,
53 // CHECK-NEXT: "col": 11,
54 // CHECK-NEXT: "tokLen": 1
56 // CHECK-NEXT: "range": {
57 // CHECK-NEXT: "begin": {
58 // CHECK-NEXT: "offset": {{[0-9]+}},
59 // CHECK-NEXT: "col": 1,
60 // CHECK-NEXT: "tokLen": 9
62 // CHECK-NEXT: "end": {
63 // CHECK-NEXT: "offset": {{[0-9]+}},
64 // CHECK-NEXT: "line": 7,
65 // CHECK-NEXT: "col": 1,
66 // CHECK-NEXT: "tokLen": 1
71 // CHECK-NOT: {{^}}Dumping
72 // CHECK: "kind": "NamespaceDecl",
73 // CHECK-NEXT: "name": ""
76 // CHECK-NOT: {{^}}Dumping
77 // CHECK: "kind": "NamespaceDecl",
78 // CHECK-NEXT: "loc": {
79 // CHECK-NEXT: "offset": {{[0-9]+}},
80 // CHECK-NEXT: "line": 9,
81 // CHECK-NEXT: "col": 11,
82 // CHECK-NEXT: "tokLen": 3
84 // CHECK-NEXT: "range": {
85 // CHECK-NEXT: "begin": {
86 // CHECK-NEXT: "offset": {{[0-9]+}},
87 // CHECK-NEXT: "col": 1,
88 // CHECK-NEXT: "tokLen": 9
90 // CHECK-NEXT: "end": {
91 // CHECK-NEXT: "offset": {{[0-9]+}},
92 // CHECK-NEXT: "line": 12,
93 // CHECK-NEXT: "col": 1,
94 // CHECK-NEXT: "tokLen": 1
97 // CHECK-NEXT: "name": "bar",
98 // CHECK-NEXT: "inner": [
100 // CHECK-NEXT: "id": "0x{{.*}}",
101 // CHECK-NEXT: "kind": "NamespaceDecl",
102 // CHECK-NEXT: "loc": {
103 // CHECK-NEXT: "offset": {{[0-9]+}},
104 // CHECK-NEXT: "line": 10,
105 // CHECK-NEXT: "col": 18,
106 // CHECK-NEXT: "tokLen": 3
108 // CHECK-NEXT: "range": {
109 // CHECK-NEXT: "begin": {
110 // CHECK-NEXT: "offset": {{[0-9]+}},
111 // CHECK-NEXT: "col": 1,
112 // CHECK-NEXT: "tokLen": 6
114 // CHECK-NEXT: "end": {
115 // CHECK-NEXT: "offset": {{[0-9]+}},
116 // CHECK-NEXT: "line": 11,
117 // CHECK-NEXT: "col": 1,
118 // CHECK-NEXT: "tokLen": 1
121 // CHECK-NEXT: "name": "__1",
122 // CHECK-NEXT: "isInline": true
127 // CHECK-NOT: {{^}}Dumping
128 // CHECK: "kind": "NamespaceDecl",
129 // CHECK-NEXT: "loc": {
130 // CHECK-NEXT: "offset": {{[0-9]+}},
131 // CHECK-NEXT: "line": 14,
132 // CHECK-NEXT: "col": 11,
133 // CHECK-NEXT: "tokLen": 3
135 // CHECK-NEXT: "range": {
136 // CHECK-NEXT: "begin": {
137 // CHECK-NEXT: "offset": {{[0-9]+}},
138 // CHECK-NEXT: "col": 1,
139 // CHECK-NEXT: "tokLen": 9
141 // CHECK-NEXT: "end": {
142 // CHECK-NEXT: "offset": {{[0-9]+}},
143 // CHECK-NEXT: "line": 15,
144 // CHECK-NEXT: "col": 1,
145 // CHECK-NEXT: "tokLen": 1
148 // CHECK-NEXT: "name": "baz",
149 // CHECK-NEXT: "inner": [
151 // CHECK-NEXT: "id": "0x{{.*}}",
152 // CHECK-NEXT: "kind": "NamespaceDecl",
153 // CHECK-NEXT: "loc": {
154 // CHECK-NEXT: "offset": {{[0-9]+}},
155 // CHECK-NEXT: "line": 14,
156 // CHECK-NEXT: "col": 16,
157 // CHECK-NEXT: "tokLen": 4
159 // CHECK-NEXT: "range": {
160 // CHECK-NEXT: "begin": {
161 // CHECK-NEXT: "offset": {{[0-9]+}},
162 // CHECK-NEXT: "col": 14,
163 // CHECK-NEXT: "tokLen": 2
165 // CHECK-NEXT: "end": {
166 // CHECK-NEXT: "offset": {{[0-9]+}},
167 // CHECK-NEXT: "line": 15,
168 // CHECK-NEXT: "col": 1,
169 // CHECK-NEXT: "tokLen": 1
172 // CHECK-NEXT: "name": "quux"
173 // CHECK-NEXT: "isNested": true
178 // CHECK-NOT: {{^}}Dumping
179 // CHECK: "kind": "NamespaceDecl",
180 // CHECK-NEXT: "loc": {
181 // CHECK-NEXT: "offset": {{[0-9]+}},
182 // CHECK-NEXT: "line": 17,
183 // CHECK-NEXT: "col": 11,
184 // CHECK-NEXT: "tokLen": 4
186 // CHECK-NEXT: "range": {
187 // CHECK-NEXT: "begin": {
188 // CHECK-NEXT: "offset": {{[0-9]+}},
189 // CHECK-NEXT: "col": 1,
190 // CHECK-NEXT: "tokLen": 9
192 // CHECK-NEXT: "end": {
193 // CHECK-NEXT: "offset": {{[0-9]+}},
194 // CHECK-NEXT: "line": 18,
195 // CHECK-NEXT: "col": 1,
196 // CHECK-NEXT: "tokLen": 1
199 // CHECK-NEXT: "name": "quux"
200 // CHECK-NEXT: "inner": [
202 // CHECK-NEXT: "id": "0x{{.*}}",
203 // CHECK-NEXT: "kind": "NamespaceDecl",
204 // CHECK-NEXT: "loc": {
205 // CHECK-NEXT: "offset": {{[0-9]+}},
206 // CHECK-NEXT: "line": 17,
207 // CHECK-NEXT: "col": 24,
208 // CHECK-NEXT: "tokLen": 7
210 // CHECK-NEXT: "range": {
211 // CHECK-NEXT: "begin": {
212 // CHECK-NEXT: "offset": {{[0-9]+}},
213 // CHECK-NEXT: "col": 17,
214 // CHECK-NEXT: "tokLen": 6
216 // CHECK-NEXT: "end": {
217 // CHECK-NEXT: "offset": {{[0-9]+}},
218 // CHECK-NEXT: "line": 18,
219 // CHECK-NEXT: "col": 1,
220 // CHECK-NEXT: "tokLen": 1
223 // CHECK-NEXT: "name": "frobble",
224 // CHECK-NEXT: "isInline": true,
225 // CHECK-NEXT: "isNested": true