1 // Note: the run lines follow their respective tests, since line/column numbers 2 // matter in this test. 3 // This test is for when property accessors do not have their own code 4 // completion comments. Use those in their properties in this case. 5 // rdar://12791315 6 7 @interface AppDelegate 8 /** 9 \brief This is ReadonlyProperty 10 */ 11 @property (readonly, getter = ReadonlyGetter) id MyProperty; 12 13 /** 14 \brief This is GeneralProperty 15 */ 16 @property int GeneralProperty; 17 18 /** 19 \brief This is PropertyInPrimaryClass 20 */ 21 @property (copy, nonatomic) id PropertyInPrimaryClass; 22 23 - (void) setThisRecord : (id)arg; 24 - (id) Record; 25 @end 26 27 28 @interface AppDelegate() 29 - (id) GetterInClassExtension; 30 /** 31 \brief This is Record 32 */ 33 @property (copy, setter = setThisRecord:) id Record; 34 @end 35 36 @interface AppDelegate() 37 /** 38 \brief This is PropertyInClassExtension 39 */ 40 @property (copy, getter = GetterInClassExtension) id PropertyInClassExtension; 41 42 - (id) PropertyInPrimaryClass; 43 @end 44 45 @implementation AppDelegate 46 - (id) PropertyInPrimaryClass { 47 id p = [self ReadonlyGetter]; 48 p = [self GetterInClassExtension]; 49 p = [self PropertyInPrimaryClass]; 50 p = [self Record]; 51 [self setThisRecord : (id)0 ]; 52 p = self.GetterInClassExtension; 53 return 0; 54 } 55 @end 56 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:47:16 %s | FileCheck -check-prefix=CHECK-CC1 %s 57 // CHECK-CC1: {TypedText ReadonlyGetter}{{.*}}(brief comment: This is ReadonlyProperty) 58 59 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:48:13 %s | FileCheck -check-prefix=CHECK-CC2 %s 60 // CHECK-CC2: {TypedText GetterInClassExtension}{{.*}}(brief comment: This is PropertyInClassExtension) 61 62 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:49:13 %s | FileCheck -check-prefix=CHECK-CC3 %s 63 // CHECK-CC3: {TypedText PropertyInPrimaryClass}{{.*}}(brief comment: This is PropertyInPrimaryClass) 64 65 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:50:13 %s | FileCheck -check-prefix=CHECK-CC4 %s 66 // CHECK-CC4: {TypedText Record}{{.*}}(brief comment: This is Record) 67 68 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:51:9 %s | FileCheck -check-prefix=CHECK-CC5 %s 69 // CHECK-CC5: {TypedText setThisRecord:}{Placeholder (id)}{{.*}}(brief comment: This is Record) 70 71 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:52:12 %s | FileCheck -check-prefix=CHECK-CC6 %s 72 // CHECK-CC6: {TypedText GetterInClassExtension}{{.*}}(brief comment: This is PropertyInClassExtension) 73 74 @interface AnotherAppDelegate 75 /** 76 \brief This is ReadonlyProperty 77 */ 78 @property (getter = ReadonlyGetter) int MyProperty; 79 /** 80 \brief This is getter = ReadonlyGetter 81 */ 82 - (int) ReadonlyGetter; 83 @end 84 85 @implementation AnotherAppDelegate 86 - (int) PropertyInPrimaryClass { 87 self.ReadonlyGetter; 88 } 89 @end 90 // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:87:6 %s | FileCheck -check-prefix=CHECK-CC7 %s 91 // CHECK-CC7: {TypedText ReadonlyGetter}{{.*}}(brief comment: This is getter = ReadonlyGetter) 92 93