|
1 | 1 | // RUN: env CLANG_COMPILER_OBJC_MESSAGE_TRACE_PATH=%t.txt %clang_cc1 -fsyntax-only -triple arm64-apple-macosx15.0.0 -I %S/Inputs %s |
2 | 2 | // RUN: cat %t.txt | FileCheck %s |
3 | 3 |
|
| 4 | +#include "objc-method-tracing.h" |
| 5 | + |
| 6 | +@interface B(Cat1) |
| 7 | +-(void)m2; |
| 8 | +@end |
| 9 | + |
| 10 | +@interface B() |
| 11 | +-(void)m6; |
| 12 | +@end |
| 13 | + |
| 14 | +@implementation B |
| 15 | +-(void)m7:(int)i arg1:(float)f { |
| 16 | +} |
| 17 | +@end |
| 18 | + |
| 19 | +@implementation B(Cat1) |
| 20 | +-(void)m8 { |
| 21 | +} |
| 22 | +@end |
| 23 | + |
| 24 | +void test0(A *a) { |
| 25 | + [a m0]; |
| 26 | +} |
| 27 | + |
| 28 | +void test1(B *b) { |
| 29 | + [b m0]; |
| 30 | +} |
| 31 | + |
| 32 | +void test2(B *b) { |
| 33 | + [B m1]; |
| 34 | +} |
| 35 | + |
| 36 | +void test3(B *b) { |
| 37 | + [b m2]; |
| 38 | +} |
| 39 | + |
| 40 | +void test4(C *c) { |
| 41 | + [c m4]; |
| 42 | +} |
| 43 | + |
| 44 | +void test5(id<P0> p0) { |
| 45 | + [p0 m5]; |
| 46 | +} |
| 47 | + |
| 48 | +void test6(B *b) { |
| 49 | + [b m6]; |
| 50 | +} |
| 51 | + |
| 52 | +void test7(B *b) { |
| 53 | + [b m7:123 arg1:4.5f]; |
| 54 | +} |
| 55 | + |
| 56 | +void test8(B *b) { |
| 57 | + [b m8]; |
| 58 | +} |
| 59 | + |
4 | 60 | // CHECK: { |
| 61 | +// CHECK-NEXT: "clang-compiler-version": "clang version |
5 | 62 | // CHECK-NEXT: "format-version": 1, |
6 | 63 | // CHECK-NEXT: "target": "arm64-apple-macosx15.0.0", |
7 | 64 | // CHECK-NEXT: "references": [ |
|
27 | 84 | // CHECK-NEXT: "interface_type": "B", |
28 | 85 | // CHECK-NEXT: "category_type": "Cat1", |
29 | 86 | // CHECK-NEXT: "instance_method": "-[B(Cat1) m2]", |
30 | | -// CHECK-NEXT: "declared_at": "[[SOURCE_FILE:.*]]:12:1", |
| 87 | +// CHECK-NEXT: "declared_at": "[[SOURCE_FILE:.*]]:7:1", |
31 | 88 | // CHECK-NEXT: "referenced_at_file_id": 1 |
32 | 89 | // CHECK-NEXT: }, |
33 | 90 | // CHECK-NEXT: { |
|
46 | 103 | // CHECK-NEXT: "interface_type": "B", |
47 | 104 | // CHECK-NEXT: "category_type": "", |
48 | 105 | // CHECK-NEXT: "instance_method": "-[B() m6]", |
49 | | -// CHECK-NEXT: "declared_at": "[[SOURCE_FILE]]:16:1", |
| 106 | +// CHECK-NEXT: "declared_at": "[[SOURCE_FILE]]:11:1", |
50 | 107 | // CHECK-NEXT: "referenced_at_file_id": 1 |
51 | 108 | // CHECK-NEXT: }, |
52 | 109 | // CHECK-NEXT: { |
53 | 110 | // CHECK-NEXT: "implementation_type": "B", |
54 | 111 | // CHECK-NEXT: "instance_method": "-[B m7:arg1:]", |
55 | | -// CHECK-NEXT: "declared_at": "[[SOURCE_FILE]]:20:1", |
| 112 | +// CHECK-NEXT: "declared_at": "[[SOURCE_FILE]]:15:1", |
56 | 113 | // CHECK-NEXT: "referenced_at_file_id": 1 |
57 | 114 | // CHECK-NEXT: }, |
58 | 115 | // CHECK-NEXT: { |
59 | 116 | // CHECK-NEXT: "interface_type": "B", |
60 | 117 | // CHECK-NEXT: "category_implementation_type": "Cat1", |
61 | 118 | // CHECK-NEXT: "instance_method": "-[B(Cat1) m8]", |
62 | | -// CHECK-NEXT: "declared_at": "[[SOURCE_FILE]]:25:1", |
| 119 | +// CHECK-NEXT: "declared_at": "[[SOURCE_FILE]]:20:1", |
63 | 120 | // CHECK-NEXT: "referenced_at_file_id": 1 |
64 | 121 | // CHECK-NEXT: } |
65 | 122 | // CHECK-NEXT: ], |
|
70 | 127 | // CHECK-NEXT: } |
71 | 128 | // CHECK-NEXT: ] |
72 | 129 | // CHECK-NEXT: } |
73 | | - |
74 | | -#include "objc-method-tracing.h" |
75 | | - |
76 | | -@interface B(Cat1) |
77 | | --(void)m2; |
78 | | -@end |
79 | | - |
80 | | -@interface B() |
81 | | --(void)m6; |
82 | | -@end |
83 | | - |
84 | | -@implementation B |
85 | | --(void)m7:(int)i arg1:(float)f { |
86 | | -} |
87 | | -@end |
88 | | - |
89 | | -@implementation B(Cat1) |
90 | | --(void)m8 { |
91 | | -} |
92 | | -@end |
93 | | - |
94 | | -void test0(A *a) { |
95 | | - [a m0]; |
96 | | -} |
97 | | - |
98 | | -void test1(B *b) { |
99 | | - [b m0]; |
100 | | -} |
101 | | - |
102 | | -void test2(B *b) { |
103 | | - [B m1]; |
104 | | -} |
105 | | - |
106 | | -void test3(B *b) { |
107 | | - [b m2]; |
108 | | -} |
109 | | - |
110 | | -void test4(C *c) { |
111 | | - [c m4]; |
112 | | -} |
113 | | - |
114 | | -void test5(id<P0> p0) { |
115 | | - [p0 m5]; |
116 | | -} |
117 | | - |
118 | | -void test6(B *b) { |
119 | | - [b m6]; |
120 | | -} |
121 | | - |
122 | | -void test7(B *b) { |
123 | | - [b m7:123 arg1:4.5f]; |
124 | | -} |
125 | | - |
126 | | -void test8(B *b) { |
127 | | - [b m8]; |
128 | | -} |
|
0 commit comments