bool ShowColors = Out.has_colors();
if (ShowColors)
Out.changeColor(raw_ostream::BLUE);
- Out << (OutputKind != Print ? "Dumping " : "Printing ") << getName(D)
- << ":\n";
+
+ if (OutputFormat == ADOF_Default)
+ Out << (OutputKind != Print ? "Dumping " : "Printing ") << getName(D)
+ << ":\n";
+
if (ShowColors)
Out.resetColor();
print(D);
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=FullComment
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 72,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 120,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 151,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 197,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 294,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 294,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 372,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 415,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 466,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 537,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FullComment",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 537,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 116,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 12,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 149,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 186,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 219,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 252,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "LabelDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 344,
// CHECK-NEXT: "name": "TestLabelDecl"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 411,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 434,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 475,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 540,
// CHECK-NEXT: "name": "TestEnumDeclForward"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 569,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 606,
// CHECK-NEXT: "completeDefinition": true
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 639,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 708,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 757,
// CHECK-NEXT: "tagUsed": "struct"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumConstantDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 811,
// CHECK-NEXT: }
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumConstantDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 835,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "RecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 875,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1003,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1113,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1168,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1203,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1241,
// CHECK-NEXT: "storageClass": "extern"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1274,
// CHECK-NEXT: "inline": true
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FieldDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1330,
// CHECK-NEXT: }
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FieldDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1351,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1383,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1407,
// CHECK-NEXT: "storageClass": "extern"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1435,
// CHECK-NEXT: "tls": "static"
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1458,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ParmVarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1505,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 172,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 215,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 408,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 490,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCProtocolDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 562,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 614,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 672,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCCategoryDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 737,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 809,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCCategoryImplDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 866,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCCompatibleAliasDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 926,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCInterfaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 990,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ObjCImplementationDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1107,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1184,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1296,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=EnumDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 88,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 117,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 146,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 188,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 224,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "EnumDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 257,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=FunctionDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 118,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 151,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 199,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 252,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 646,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 861,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1079,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 952,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 995,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1149,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1326,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1541,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1841,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 2336,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 2387,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 2437,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 2559,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1506,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1574,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1640,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1678,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1737,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1817,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1892,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 2060,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 2113,
int e;
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TranslationUnitDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 124,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 140,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 162,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 187,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 205,
// CHECK-NEXT: }
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 232,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 271,
// CHECK-NEXT: "pure": true
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 343,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 399,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXMethodDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 419,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 446,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 460,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 478,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 504,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 545,
// CHECK-NEXT: "constexpr": true
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 570,
// CHECK-NEXT: "storageClass": "static"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 595,
// CHECK-NEXT: "storageClass": "extern"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 620,
// CHECK-NEXT: "inline": true
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 638,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 665,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 700,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 751,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 769,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 789,
// using --filters=IfStmt
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "IfStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=FunctionDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "spellingLoc": {
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "spellingLoc": {
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "spellingLoc": {
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "spellingLoc": {
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "spellingLoc": {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=NamespaceDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 98,
// CHECK-NEXT: "name": "foo"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 117,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "name": ""
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 132,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 176,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 201,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=CXXRecordDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "name": "__NSConstantString_tag"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "name": "__va_list_tag"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 157,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 190,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 212,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 303,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 396,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 417,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 450,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 484,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 530,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 572,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 625,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 658,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 753,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 781,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 813,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 861,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 907,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 954,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 996,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1044,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1091,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1140,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1187,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1261,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1303,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1403,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1497,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1544,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1585,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1642,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1675,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1725,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=CXXRecordDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "name": "__NSConstantString_tag"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "name": "__va_list_tag"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 102,
// CHECK-NEXT: "tagUsed": "struct"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 112,
// CHECK-NEXT: "tagUsed": "struct"
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 123,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 206,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 321,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 368,
// CHECK-NEXT: "tagUsed": "union"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 378,
// CHECK-NEXT: "tagUsed": "union"
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 388,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 470,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 585,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 602,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 619,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 637,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 667,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 705,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 743,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 805,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CXXRecordDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 882,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=VarDecl,CompoundStmt
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 99,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 121,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "VarDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 198,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "CompoundStmt",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=FunctionDecl,FunctionTemplateDecl,UsingDecl,UsingShadowDecl
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 125,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "UsingDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 164,
// CHECK-NEXT: "name": "n::function"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "UsingShadowDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 164,
// CHECK-NEXT: }
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "UsingDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 183,
// CHECK-NEXT: "name": "n::Variable"
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "UsingShadowDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 183,
// CHECK-NEXT: }
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 198,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 266,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 323,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 378,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 598,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 766,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1049,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1214,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1261,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1315,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1529,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionTemplateDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 1737,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 143,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 185,
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "FunctionDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 252,
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TranslationUnitDecl",
// CHECK-NEXT: "loc": {},
// CHECK-NEXT: "range": {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
// using --filters=ExprWithCleanups
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ExprWithCleanups",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ExprWithCleanups",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// CHECK-NEXT: ]
// CHECK-NEXT: }
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "ExprWithCleanups",
// CHECK-NEXT: "range": {
// CHECK-NEXT: "begin": {
// NOTE: CHECK lines have been autogenerated by gen_ast_dump_json_test.py
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 204,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 239,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 319,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 366,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 416,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 456,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "TypedefDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 506,
// CHECK-NEXT: ]
// CHECK-NEXT: }
-
+// CHECK-NOT: {{^}}Dumping
// CHECK: "kind": "NamespaceDecl",
// CHECK-NEXT: "loc": {
// CHECK-NEXT: "offset": 541,
-#!/usr/bin/env python
+#!/usr/bin/env python3
from __future__ import print_function
from collections import OrderedDict
import argparse
import json
import os
-import pprint
import re
import subprocess
import sys
for e in v:
if isinstance(e, OrderedDict):
normalize(e)
- elif type(v) is unicode:
- st = v.encode('utf-8')
+ elif type(v) is str:
if v != "0x0" and re.match(r"0x[0-9A-Fa-f]+", v):
- dict_var[k] = u'0x{{.*}}'
+ dict_var[k] = '0x{{.*}}'
elif os.path.isfile(v):
- dict_var[k] = u'{{.*}}'
+ dict_var[k] = '{{.*}}'
else:
- splits = (v.split(u' '))
+ splits = (v.split(' '))
out_splits = []
for split in splits:
- inner_splits = split.rsplit(u':',2)
+ inner_splits = split.rsplit(':',2)
if os.path.isfile(inner_splits[0]):
out_splits.append(
- u'{{.*}}:%s:%s'
+ '{{.*}}:%s:%s'
%(inner_splits[1],
inner_splits[2]))
continue
dict_var[k] = ' '.join(out_splits)
+
def filter_json(dict_var, filters, out):
for k, v in dict_var.items():
- if type(v) is unicode:
- st = v.encode('utf-8')
- if st in filters:
+ if type(v) is str:
+ if v in filters:
out.append(dict_var)
break
elif isinstance(v, OrderedDict):
print("Will use the following filters:", filters)
try:
- json_str = subprocess.check_output(cmd)
+ json_str = subprocess.check_output(cmd).decode()
except Exception as ex:
print("The clang command failed with %s" % ex)
return -1
out_asts = []
if using_ast_dump_filter:
- splits = re.split('Dumping .*:\n', json_str)
- if len(splits) > 1:
- for split in splits[1:]:
- j = json.loads(split.decode('utf-8'), object_pairs_hook=OrderedDict)
+ # If we're using a filter, then we might have multiple JSON objects
+ # in the output. To parse each out, we use a manual JSONDecoder in
+ # "raw" mode and update our location in the string based on where the
+ # last document ended.
+ decoder = json.JSONDecoder(object_hook=OrderedDict)
+ doc_start = 0
+ prev_end = 0
+ while True:
+ try:
+ prev_end = doc_start
+ (j, doc_start) = decoder.raw_decode(json_str[doc_start:])
+ doc_start += prev_end + 1
normalize(j)
out_asts.append(j)
+ except:
+ break
else:
- j = json.loads(json_str.decode('utf-8'), object_pairs_hook=OrderedDict)
+ j = json.loads(json_str, object_pairs_hook=OrderedDict)
normalize(j)
if len(filters) == 0:
out_asts.append(j)
else:
- #assert using_ast_dump_filter is False,\
- # "Does not support using compiler's ast-dump-filter "\
- # "and the tool's filter option at the same time yet."
-
filter_json(j, filters, out_asts)
- with tempfile.NamedTemporaryFile("wb", delete=False) as f:
+ with tempfile.NamedTemporaryFile("w", delete=False) as f:
with open(source_file, "r") as srcf:
for line in srcf.readlines():
# copy up to the note:
for out_ast in out_asts:
append_str = json.dumps(out_ast, indent=1, ensure_ascii=False)
out_str = '\n\n'
+ out_str += "// CHECK-NOT: {{^}}Dumping\n"
index = 0
for append_line in append_str.splitlines()[2:]:
if index == 0: