| 1 | // RUN: c-index-test core -print-source-symbols -- %s -target x86_64-apple-macosx10.7 | FileCheck %s |
| 2 | |
| 3 | // CHECK: [[@LINE+1]]:12 | class/ObjC | XCTestCase | c:objc(cs)XCTestCase | _OBJC_CLASS_$_XCTestCase | Decl | rel: 0 |
| 4 | @interface XCTestCase |
| 5 | @end |
| 6 | |
| 7 | // CHECK: [[@LINE+1]]:12 | class(test)/ObjC | MyTestCase | c:objc(cs)MyTestCase | _OBJC_CLASS_$_MyTestCase | Decl | rel: 0 |
| 8 | @interface MyTestCase : XCTestCase |
| 9 | @end |
| 10 | // CHECK: [[@LINE+1]]:17 | class(test)/ObjC | MyTestCase | c:objc(cs)MyTestCase | <no-cgname> | Def | rel: 0 |
| 11 | @implementation MyTestCase |
| 12 | // CHECK: [[@LINE+1]]:8 | instance-method(test)/ObjC | testMe | c:objc(cs)MyTestCase(im)testMe | -[MyTestCase testMe] | Def,Dyn,RelChild | rel: 1 |
| 13 | -(void)testMe {} |
| 14 | // CHECK: [[@LINE+1]]:6 | instance-method/ObjC | testResult | c:objc(cs)MyTestCase(im)testResult | -[MyTestCase testResult] | Def,Dyn,RelChild | rel: 1 |
| 15 | -(id)testResult { return 0; } |
| 16 | // CHECK: [[@LINE+1]]:8 | instance-method/ObjC | testWithInt: | c:objc(cs)MyTestCase(im)testWithInt: | -[MyTestCase testWithInt:] | Def,Dyn,RelChild | rel: 1 |
| 17 | -(void)testWithInt:(int)i {} |
| 18 | @end |
| 19 | |
| 20 | // CHECK: [[@LINE+1]]:12 | class(test)/ObjC | SubTestCase | c:objc(cs)SubTestCase | _OBJC_CLASS_$_SubTestCase | Decl | rel: 0 |
| 21 | @interface SubTestCase : MyTestCase |
| 22 | @end |
| 23 | // CHECK: [[@LINE+1]]:17 | class(test)/ObjC | SubTestCase | c:objc(cs)SubTestCase | <no-cgname> | Def | rel: 0 |
| 24 | @implementation SubTestCase |
| 25 | // CHECK: [[@LINE+1]]:8 | instance-method(test)/ObjC | testIt2 | c:objc(cs)SubTestCase(im)testIt2 | -[SubTestCase testIt2] | Def,Dyn,RelChild | rel: 1 |
| 26 | -(void)testIt2 {} |
| 27 | @end |
| 28 | |
| 29 | // CHECK: [[@LINE+3]]:12 | class(test)/ObjC | MyTestCase | c:objc(cs)MyTestCase | _OBJC_CLASS_$_MyTestCase | Ref,RelExt,RelCont | rel: 1 |
| 30 | // CHECK-NEXT: RelExt,RelCont | cat | c:objc(cy)MyTestCase@cat |
| 31 | // CHECK: [[@LINE+1]]:23 | extension(test)/ObjC | cat | c:objc(cy)MyTestCase@cat | <no-cgname> | Decl | rel: 0 |
| 32 | @interface MyTestCase(cat) |
| 33 | @end |
| 34 | // CHECK: [[@LINE+2]]:17 | class(test)/ObjC | MyTestCase | c:objc(cs)MyTestCase | _OBJC_CLASS_$_MyTestCase | Ref,RelCont | rel: 1 |
| 35 | // CHECK: [[@LINE+1]]:28 | extension(test)/ObjC | cat | c:objc(cy)MyTestCase@cat | <no-cgname> | Def | rel: 0 |
| 36 | @implementation MyTestCase(cat) |
| 37 | // CHECK: [[@LINE+1]]:9 | instance-method(test)/ObjC | testInCat | c:objc(cs)MyTestCase(im)testInCat | -[MyTestCase(cat) testInCat] | Def,Dyn,RelChild | rel: 1 |
| 38 | - (void)testInCat {} |
| 39 | @end |
| 40 | |
| 41 | |
| 42 | @class NSButton; |
| 43 | @interface IBCls |
| 44 | |
| 45 | // CHECK: [[@LINE+2]]:34 | instance-method/acc-get/ObjC | prop | c:objc(cs)IBCls(im)prop | -[IBCls prop] | Decl,Dyn,Impl,RelChild,RelAcc | rel: 2 |
| 46 | // CHECK: [[@LINE+1]]:34 | instance-property(IB)/ObjC | prop | c:objc(cs)IBCls(py)prop | <no-cgname> | Decl,RelChild | rel: 1 |
| 47 | @property (readonly) IBOutlet id prop; |
| 48 | // CHECK: [[@LINE+1]]:54 | instance-property(IB,IBColl)/ObjC | propColl | c:objc(cs)IBCls(py)propColl | <no-cgname> | Decl,RelChild | rel: 1 |
| 49 | @property (readonly) IBOutletCollection(NSButton) id propColl; |
| 50 | // CHECK: [[@LINE+1]]:12 | instance-method(IB)/ObjC | doIt | c:objc(cs)IBCls(im)doIt | -[IBCls doIt] | Decl,Dyn,RelChild | rel: 1 |
| 51 | -(IBAction)doIt; |
| 52 | @end |
| 53 | |
| 54 | |
| 55 | #define GKInspectable __attribute__((annotate("gk_inspectable"))) |
| 56 | |
| 57 | @interface GKI |
| 58 | // CHECK: [[@LINE+1]]:40 | instance-property(GKI)/ObjC | gkIntProp | c:objc(cs)GKI(py)gkIntProp | <no-cgname> | Decl,RelChild | rel: 1 |
| 59 | @property (readonly) GKInspectable int gkIntProp; |
| 60 | @end |
| 61 | |