Home | History | Annotate | Download | only in CodeGenObjC
      1 // RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s
      2 // Check that we emit the correct method names for properties from a protocol.
      3 // rdar://problem/13798000
      4 @protocol NSObject
      5 - (id)init;
      6 @end
      7 @interface NSObject <NSObject> {}
      8 @end
      9 
     10 @class Selection;
     11 
     12 @protocol HasASelection <NSObject>
     13 @property (nonatomic, retain) Selection* selection;
     14 // CHECK: !DISubprogram(name: "-[MyClass selection]"
     15 // CHECK-SAME:          line: [[@LINE-2]]
     16 // CHECK-SAME:          isLocal: true, isDefinition: true
     17 // CHECK: !DISubprogram(name: "-[MyClass setSelection:]"
     18 // CHECK-SAME:          line: [[@LINE-5]]
     19 // CHECK-SAME:          isLocal: true, isDefinition: true
     20 // CHECK: !DISubprogram(name: "-[OtherClass selection]"
     21 // CHECK-SAME:          line: [[@LINE-8]]
     22 // CHECK-SAME:          isLocal: true, isDefinition: true
     23 // CHECK: !DISubprogram(name: "-[OtherClass setSelection:]"
     24 // CHECK-SAME:          line: [[@LINE-11]]
     25 // CHECK-SAME:          isLocal: true, isDefinition: true
     26 
     27 @end
     28 
     29 @interface MyClass : NSObject <HasASelection> {
     30   Selection *_selection;
     31 }
     32 @end
     33 
     34 @implementation MyClass
     35 @synthesize selection = _selection;
     36 @end
     37 
     38 @interface OtherClass : NSObject <HasASelection> {
     39   Selection *_selection;
     40 }
     41 @end
     42 @implementation OtherClass
     43 @synthesize selection = _selection;
     44 @end
     45