forked from swiftlang/swift
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathcross_language.m
40 lines (33 loc) · 1.82 KB
/
cross_language.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// The USR check definitions are in cross_language.swift.
#include "objc_header.h"
@interface MyCls1(ext_in_objc)
// CHECK: [[@LINE-1]]:12 | class/Swift | MyCls1 | [[MyCls1_USR]] |
// CHECK: [[@LINE-2]]:19 | extension/ObjC | ext_in_objc | c:@M@cross_language@objc(cy)MyCls1@ext_in_objc |
-(void)someMethFromObjC;
// CHECK: [[@LINE-1]]:8 | instance-method/ObjC | someMethFromObjC | [[someMethFromObjC_USR:.*]] | -[ext_in_objc someMethFromObjC]
@end
void test1() {
MyCls1 *o = [[MyCls1 alloc] init];
// CHECK: [[@LINE-1]]:3 | class/Swift | MyCls1 | [[MyCls1_USR]] |
// CHECK: [[@LINE-2]]:31 | instance-method/Swift | init | [[MyCls1_init_USR]] |
// CHECK: [[@LINE-3]]:17 | class/Swift | MyCls1 | [[MyCls1_USR]] |
[o someMeth];
// CHECK: [[@LINE-1]]:6 | instance-method/Swift | someMeth | [[MyCls1_someMeth_USR]] |
[o someExtMeth];
// CHECK: [[@LINE-1]]:6 | instance-method/Swift | someExtMeth | [[MyCls1_someExtMeth_USR]] |
[o someMethFromObjC];
// CHECK: [[@LINE-1]]:6 | instance-method/ObjC | someMethFromObjC | [[someMethFromObjC_USR]] |
MyCls2 *o2 = [[MyCls2 alloc] initWithInt:0];
// CHECK: [[@LINE-1]]:32 | instance-method/Swift | initWithInt: | [[MyCls2_initwithInt_USR]] |
SomeObjCClass *oo;
// CHECK: [[@LINE-1]]:3 | class/ObjC | SomeObjCClass | [[SomeObjCClass_USR]] |
[oo someSwiftExtMeth];
// CHECK: [[@LINE-1]]:7 | instance-method/Swift | someSwiftExtMeth | [[SomeObjCClass_someSwiftExtMeth_USR]] |
id<MyProt> p;
// CHECK: [[@LINE-1]]:6 | protocol/Swift | MyProt | [[MyProt_USR]] |
[p someProtMeth];
// CHECK: [[@LINE-1]]:6 | instance-method/Swift | someProtMeth | [[MyProt_someProtMeth_USR]] |
MyEnum myenm = MyEnumSomeEnumConst;
// CHECK: [[@LINE-1]]:3 | enum/Swift | MyEnum | [[MyEnum_USR]] |
// CHECK: [[@LINE-2]]:18 | enumerator/Swift | MyEnumSomeEnumConst | [[MyEnum_someEnumConst_USR]] |
}