6
6
// RUN: %empty-directory(%t)
7
7
// RUN: %host-build-swift -swift-version 5 -emit-library -o %t/%target-library-name(MacroDefinition) -module-name=MacroDefinition %S/Inputs/json_ast_macro_definitions.swift -g -no-toolchain-stdlib-rpath
8
8
// RUN: %target-swift-frontend -swift-version 5 -emit-module -o %t/json_ast_macro_library.swiftmodule %S/Inputs/json_ast_macro_library.swift -module-name json_ast_macro_library -load-plugin-library %t/%target-library-name(MacroDefinition)
9
- // RUN: %target-swift-frontend -target %target-swift-5.9-abi-triple -I %t -load-plugin-library %t/%target-library-name(MacroDefinition) -parse-as-library -dump-ast -dump-ast-format json %s -module-name main -o -
10
- // | %FileCheck %s
9
+ // RUN: %target-swift-frontend -target %target-swift-5.9-abi-triple -I %t -load-plugin-library %t/%target-library-name(MacroDefinition) -parse-as-library -dump-ast -dump-ast-format json %s -module-name main -o - | %FileCheck %s
11
10
12
11
import json_ast_macro_library
13
12
14
13
@InjectMember
15
14
struct X {
16
15
var y : Int
17
16
}
18
- // CHECK: "_kind":"pattern_binding_decl"
17
+ // CHECK: "_kind":"struct_decl",
18
+ // CHECK-SAME: "usr":"s:4main1XV",
19
+ // CHECK-SAME: "_kind":"custom_attr",
20
+ // CHECK-SAME: "macro":{"_kind":"decl_ref","base_name":"InjectMember","decl_usr":"s:22json_ast_macro_library12InjectMemberyycfm","type_usr":"$syycD"}
21
+ // CHECK-SAME: "_kind":"pattern_binding_decl"
19
22
// CHECK-SAME: "buffer_id":"@__swiftmacro_4main1X12InjectMemberfMm_.swift"
20
23
// CHECK-SAME: "name":"_macroInjectedMember"
21
24
@@ -26,22 +29,26 @@ struct Z {
26
29
// decl before we see the MacroExpansionDecl.
27
30
// CHECK-SAME: "_kind":"struct_decl",
28
31
// CHECK-SAME: "usr":"s:4main1ZV20FixedNameFreestanderV",
29
- // CHECK-SAME: "buffer_id":"@__swiftmacro_4main0033astdumpjsonmacrosswift_GwAFheaeGafMX{{\d +}}_{{\d +}}_33_{{[0-9A-F]+}}Ll18injectFreestandingfMf_.swift"
30
- // CHECK-SAME: "_kind": "macro_expansion_decl",
32
+ // CHECK-SAME: "buffer_id":"@__swiftmacro_4main0033astdumpjsonmacrosswift_GwAFheaeGafMX{{[0-9] +}}_{{[0-9] +}}_33_{{[0-9A-F]+}}Ll18injectFreestandingfMf_.swift"
33
+ // CHECK-SAME: "_kind":"macro_expansion_decl",
31
34
// CHECK-SAME: "auxiliary_decl_usrs":["s:4main1ZV20FixedNameFreestanderV"]
35
+ // CHECK-SAME: "macro":{"_kind":"decl_ref","base_name":"injectFreestanding","decl_usr":"s:22json_ast_macro_library18injectFreestandingyycfm","type_usr":"$syycD"}
32
36
33
37
@InjectPeer
34
38
struct ThisWillBePeered { }
35
39
// CHECK-SAME: "_kind":"struct_decl",
36
40
// CHECK-SAME: "usr":"s:4main16ThisWillBePeeredV",
37
41
// CHECK-SAME: "auxiliary_decl_usrs":["s:4main13FixedNamePeerV"],
42
+ // CHECK-SAME: "_kind":"custom_attr",
43
+ // CHECK-SAME: "macro":{"_kind":"decl_ref","base_name":"InjectPeer","decl_usr":"s:22json_ast_macro_library10InjectPeeryycfm","type_usr":"$syycD"}
38
44
// CHECK-SAME: "_kind":"struct_decl",
39
45
// CHECK-SAME: "usr":"s:4main13FixedNamePeerV",
40
46
// CHECK-SAME: "buffer_id":"@__swiftmacro_4main16ThisWillBePeered10InjectPeerfMp_.swift"
41
47
42
48
#injectFreestanding
43
49
// CHECK-SAME: "_kind":"macro_expansion_decl",
44
50
// CHECK-SAME: "auxiliary_decl_usrs":["s:4main20FixedNameFreestanderV"],
51
+ // CHECK-SAME: "macro":{"_kind":"decl_ref","base_name":"injectFreestanding","decl_usr":"s:22json_ast_macro_library18injectFreestandingyycfm","type_usr":"$syycD"}
45
52
// CHECK-SAME: "_kind":"struct_decl",
46
53
// CHECK-SAME: "usr":"s:4main20FixedNameFreestanderV",
47
- // CHECK-SAME: "buffer_id":"@__swiftmacro_4main0033astdumpjsonmacrosswift_GwAFheaeGafMX{{\d +}}_{{\d +}}_33_{{[0-9A-F]+}}Ll18injectFreestandingfMf_.swift"
54
+ // CHECK-SAME: "buffer_id":"@__swiftmacro_4main0033astdumpjsonmacrosswift_GwAFheaeGafMX{{[0-9] +}}_{{[0-9] +}}_33_{{[0-9A-F]+}}Ll18injectFreestandingfMf_.swift"
0 commit comments