12ce598a4SAaron Ballman // RUN: %clang_cc1 -triple x86_64-pc-linux -std=c++2a -ast-dump=json %s | FileCheck %s 22ce598a4SAaron Ballman 32ce598a4SAaron Ballman namespace foo { 42ce598a4SAaron Ballman } 560294f9dSAaron Ballman 660294f9dSAaron Ballman namespace { 760294f9dSAaron Ballman } 860294f9dSAaron Ballman 960294f9dSAaron Ballman namespace bar { 1060294f9dSAaron Ballman inline namespace __1 { 1160294f9dSAaron Ballman } 1260294f9dSAaron Ballman } 1360294f9dSAaron Ballman 1460294f9dSAaron Ballman namespace baz::quux { 1560294f9dSAaron Ballman } 1660294f9dSAaron Ballman 1760294f9dSAaron Ballman namespace quux::inline frobble { 1860294f9dSAaron Ballman } 1960294f9dSAaron Ballman 2060294f9dSAaron Ballman // NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py 2160294f9dSAaron Ballman // using --filters=NamespaceDecl 2260294f9dSAaron Ballman 23451d0596Swilliam woodruff // CHECK-NOT: {{^}}Dumping 242ce598a4SAaron Ballman // CHECK: "kind": "NamespaceDecl", 252ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 266d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 272ce598a4SAaron Ballman // CHECK-NEXT: "file": "{{.*}}", 28a612e34cSAaron Ballman // CHECK-NEXT: "line": 3, 29a612e34cSAaron Ballman // CHECK-NEXT: "col": 11, 30a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 3 312ce598a4SAaron Ballman // CHECK-NEXT: }, 322ce598a4SAaron Ballman // CHECK-NEXT: "range": { 332ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 346d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 352ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 36a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 9 372ce598a4SAaron Ballman // CHECK-NEXT: }, 382ce598a4SAaron Ballman // CHECK-NEXT: "end": { 396d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 40a612e34cSAaron Ballman // CHECK-NEXT: "line": 4, 412ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 42a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 432ce598a4SAaron Ballman // CHECK-NEXT: } 442ce598a4SAaron Ballman // CHECK-NEXT: }, 452ce598a4SAaron Ballman // CHECK-NEXT: "name": "foo" 4660294f9dSAaron Ballman // CHECK-NEXT: } 472ce598a4SAaron Ballman 48451d0596Swilliam woodruff // CHECK-NOT: {{^}}Dumping 492ce598a4SAaron Ballman // CHECK: "kind": "NamespaceDecl", 502ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 516d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 52a612e34cSAaron Ballman // CHECK-NEXT: "line": 6, 532ce598a4SAaron Ballman // CHECK-NEXT: "col": 11, 54a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 552ce598a4SAaron Ballman // CHECK-NEXT: }, 562ce598a4SAaron Ballman // CHECK-NEXT: "range": { 572ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 586d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 592ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 60a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 9 612ce598a4SAaron Ballman // CHECK-NEXT: }, 622ce598a4SAaron Ballman // CHECK-NEXT: "end": { 636d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 64a612e34cSAaron Ballman // CHECK-NEXT: "line": 7, 652ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 66a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 672ce598a4SAaron Ballman // CHECK-NEXT: } 682ce598a4SAaron Ballman // CHECK-NEXT: } 6960294f9dSAaron Ballman // CHECK-NEXT: } 7060294f9dSAaron Ballman 71451d0596Swilliam woodruff // CHECK-NOT: {{^}}Dumping 7260294f9dSAaron Ballman // CHECK: "kind": "NamespaceDecl", 732ce598a4SAaron Ballman // CHECK-NEXT: "name": "" 742ce598a4SAaron Ballman // CHECK-NEXT: } 752ce598a4SAaron Ballman 76451d0596Swilliam woodruff // CHECK-NOT: {{^}}Dumping 772ce598a4SAaron Ballman // CHECK: "kind": "NamespaceDecl", 782ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 796d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 80a612e34cSAaron Ballman // CHECK-NEXT: "line": 9, 812ce598a4SAaron Ballman // CHECK-NEXT: "col": 11, 82a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 3 832ce598a4SAaron Ballman // CHECK-NEXT: }, 842ce598a4SAaron Ballman // CHECK-NEXT: "range": { 852ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 866d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 872ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 88a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 9 892ce598a4SAaron Ballman // CHECK-NEXT: }, 902ce598a4SAaron Ballman // CHECK-NEXT: "end": { 916d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 92a612e34cSAaron Ballman // CHECK-NEXT: "line": 12, 932ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 94a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 952ce598a4SAaron Ballman // CHECK-NEXT: } 962ce598a4SAaron Ballman // CHECK-NEXT: }, 972ce598a4SAaron Ballman // CHECK-NEXT: "name": "bar", 982ce598a4SAaron Ballman // CHECK-NEXT: "inner": [ 992ce598a4SAaron Ballman // CHECK-NEXT: { 1002ce598a4SAaron Ballman // CHECK-NEXT: "id": "0x{{.*}}", 1012ce598a4SAaron Ballman // CHECK-NEXT: "kind": "NamespaceDecl", 1022ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 1036d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 104a612e34cSAaron Ballman // CHECK-NEXT: "line": 10, 1052ce598a4SAaron Ballman // CHECK-NEXT: "col": 18, 106a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 3 1072ce598a4SAaron Ballman // CHECK-NEXT: }, 1082ce598a4SAaron Ballman // CHECK-NEXT: "range": { 1092ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 1106d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 1112ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 112a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 6 1132ce598a4SAaron Ballman // CHECK-NEXT: }, 1142ce598a4SAaron Ballman // CHECK-NEXT: "end": { 1156d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 116a612e34cSAaron Ballman // CHECK-NEXT: "line": 11, 1172ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 118a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 1192ce598a4SAaron Ballman // CHECK-NEXT: } 1202ce598a4SAaron Ballman // CHECK-NEXT: }, 1212ce598a4SAaron Ballman // CHECK-NEXT: "name": "__1", 1222ce598a4SAaron Ballman // CHECK-NEXT: "isInline": true 1232ce598a4SAaron Ballman // CHECK-NEXT: } 1242ce598a4SAaron Ballman // CHECK-NEXT: ] 12560294f9dSAaron Ballman // CHECK-NEXT: } 1262ce598a4SAaron Ballman 127451d0596Swilliam woodruff // CHECK-NOT: {{^}}Dumping 1282ce598a4SAaron Ballman // CHECK: "kind": "NamespaceDecl", 1292ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 1306d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 131a612e34cSAaron Ballman // CHECK-NEXT: "line": 14, 1322ce598a4SAaron Ballman // CHECK-NEXT: "col": 11, 133a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 3 1342ce598a4SAaron Ballman // CHECK-NEXT: }, 1352ce598a4SAaron Ballman // CHECK-NEXT: "range": { 1362ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 1376d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 1382ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 139a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 9 1402ce598a4SAaron Ballman // CHECK-NEXT: }, 1412ce598a4SAaron Ballman // CHECK-NEXT: "end": { 1426d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 143a612e34cSAaron Ballman // CHECK-NEXT: "line": 15, 1442ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 145a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 1462ce598a4SAaron Ballman // CHECK-NEXT: } 1472ce598a4SAaron Ballman // CHECK-NEXT: }, 1482ce598a4SAaron Ballman // CHECK-NEXT: "name": "baz", 1492ce598a4SAaron Ballman // CHECK-NEXT: "inner": [ 1502ce598a4SAaron Ballman // CHECK-NEXT: { 1512ce598a4SAaron Ballman // CHECK-NEXT: "id": "0x{{.*}}", 1522ce598a4SAaron Ballman // CHECK-NEXT: "kind": "NamespaceDecl", 1532ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 1546d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 155a612e34cSAaron Ballman // CHECK-NEXT: "line": 14, 1562ce598a4SAaron Ballman // CHECK-NEXT: "col": 16, 157a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 4 1582ce598a4SAaron Ballman // CHECK-NEXT: }, 1592ce598a4SAaron Ballman // CHECK-NEXT: "range": { 1602ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 1616d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 1622ce598a4SAaron Ballman // CHECK-NEXT: "col": 14, 163a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 2 1642ce598a4SAaron Ballman // CHECK-NEXT: }, 1652ce598a4SAaron Ballman // CHECK-NEXT: "end": { 1666d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 167a612e34cSAaron Ballman // CHECK-NEXT: "line": 15, 1682ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 169a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 1702ce598a4SAaron Ballman // CHECK-NEXT: } 1712ce598a4SAaron Ballman // CHECK-NEXT: }, 1722ce598a4SAaron Ballman // CHECK-NEXT: "name": "quux" 173*15e76eedSNathan James // CHECK-NEXT: "isNested": true 1742ce598a4SAaron Ballman // CHECK-NEXT: } 1752ce598a4SAaron Ballman // CHECK-NEXT: ] 17660294f9dSAaron Ballman // CHECK-NEXT: } 1772ce598a4SAaron Ballman 178451d0596Swilliam woodruff // CHECK-NOT: {{^}}Dumping 1792ce598a4SAaron Ballman // CHECK: "kind": "NamespaceDecl", 1802ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 1816d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 182a612e34cSAaron Ballman // CHECK-NEXT: "line": 17, 1832ce598a4SAaron Ballman // CHECK-NEXT: "col": 11, 184a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 4 1852ce598a4SAaron Ballman // CHECK-NEXT: }, 1862ce598a4SAaron Ballman // CHECK-NEXT: "range": { 1872ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 1886d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 1892ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 190a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 9 1912ce598a4SAaron Ballman // CHECK-NEXT: }, 1922ce598a4SAaron Ballman // CHECK-NEXT: "end": { 1936d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 194a612e34cSAaron Ballman // CHECK-NEXT: "line": 18, 1952ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 196a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 1972ce598a4SAaron Ballman // CHECK-NEXT: } 1982ce598a4SAaron Ballman // CHECK-NEXT: }, 199*15e76eedSNathan James // CHECK-NEXT: "name": "quux" 2002ce598a4SAaron Ballman // CHECK-NEXT: "inner": [ 2012ce598a4SAaron Ballman // CHECK-NEXT: { 2022ce598a4SAaron Ballman // CHECK-NEXT: "id": "0x{{.*}}", 2032ce598a4SAaron Ballman // CHECK-NEXT: "kind": "NamespaceDecl", 2042ce598a4SAaron Ballman // CHECK-NEXT: "loc": { 2056d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 206a612e34cSAaron Ballman // CHECK-NEXT: "line": 17, 2072ce598a4SAaron Ballman // CHECK-NEXT: "col": 24, 208a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 7 2092ce598a4SAaron Ballman // CHECK-NEXT: }, 2102ce598a4SAaron Ballman // CHECK-NEXT: "range": { 2112ce598a4SAaron Ballman // CHECK-NEXT: "begin": { 2126d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 2132ce598a4SAaron Ballman // CHECK-NEXT: "col": 17, 214a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 6 2152ce598a4SAaron Ballman // CHECK-NEXT: }, 2162ce598a4SAaron Ballman // CHECK-NEXT: "end": { 2176d8e5c96SChris Bieneman // CHECK-NEXT: "offset": {{[0-9]+}}, 218a612e34cSAaron Ballman // CHECK-NEXT: "line": 18, 2192ce598a4SAaron Ballman // CHECK-NEXT: "col": 1, 220a612e34cSAaron Ballman // CHECK-NEXT: "tokLen": 1 2212ce598a4SAaron Ballman // CHECK-NEXT: } 2222ce598a4SAaron Ballman // CHECK-NEXT: }, 2232ce598a4SAaron Ballman // CHECK-NEXT: "name": "frobble", 224*15e76eedSNathan James // CHECK-NEXT: "isInline": true, 225*15e76eedSNathan James // CHECK-NEXT: "isNested": true 2262ce598a4SAaron Ballman // CHECK-NEXT: } 2272ce598a4SAaron Ballman // CHECK-NEXT: ] 2282ce598a4SAaron Ballman // CHECK-NEXT: } 229