// Note: the run lines follow their respective tests, since line/column numbers // matter in this test. // This test is for when property accessors do not have their own code // completion comments. Use those in their properties in this case. // rdar://12791315 @interface AppDelegate /** \brief This is ReadonlyProperty */ @property (readonly, getter = ReadonlyGetter) id MyProperty; /** \brief This is GeneralProperty */ @property int GeneralProperty; /** \brief This is PropertyInPrimaryClass */ @property (copy, nonatomic) id PropertyInPrimaryClass; - (void) setThisRecord : (id)arg; - (id) Record; @end @interface AppDelegate() - (id) GetterInClassExtension; /** \brief This is Record */ @property (copy, setter = setThisRecord:) id Record; @end @interface AppDelegate() /** \brief This is PropertyInClassExtension */ @property (copy, getter = GetterInClassExtension) id PropertyInClassExtension; - (id) PropertyInPrimaryClass; @end @implementation AppDelegate - (id) PropertyInPrimaryClass { id p = [self ReadonlyGetter]; p = [self GetterInClassExtension]; p = [self PropertyInPrimaryClass]; p = [self Record]; [self setThisRecord : (id)0 ]; p = self.GetterInClassExtension; return 0; } @end // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:47:16 %s | FileCheck -check-prefix=CHECK-CC1 %s // CHECK-CC1: {TypedText ReadonlyGetter}{{.*}}(brief comment: This is ReadonlyProperty) // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:48:13 %s | FileCheck -check-prefix=CHECK-CC2 %s // CHECK-CC2: {TypedText GetterInClassExtension}{{.*}}(brief comment: This is PropertyInClassExtension) // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:49:13 %s | FileCheck -check-prefix=CHECK-CC3 %s // CHECK-CC3: {TypedText PropertyInPrimaryClass}{{.*}}(brief comment: This is PropertyInPrimaryClass) // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:50:13 %s | FileCheck -check-prefix=CHECK-CC4 %s // CHECK-CC4: {TypedText Record}{{.*}}(brief comment: This is Record) // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:51:9 %s | FileCheck -check-prefix=CHECK-CC5 %s // CHECK-CC5: {TypedText setThisRecord:}{Placeholder (id)}{{.*}}(brief comment: This is Record) // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:52:12 %s | FileCheck -check-prefix=CHECK-CC6 %s // CHECK-CC6: {TypedText GetterInClassExtension}{{.*}}(brief comment: This is PropertyInClassExtension) @interface AnotherAppDelegate /** \brief This is ReadonlyProperty */ @property (getter = ReadonlyGetter) int MyProperty; /** \brief This is getter = ReadonlyGetter */ - (int) ReadonlyGetter; @end @implementation AnotherAppDelegate - (int) PropertyInPrimaryClass { self.ReadonlyGetter; } @end // RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:87:6 %s | FileCheck -check-prefix=CHECK-CC7 %s // CHECK-CC7: {TypedText ReadonlyGetter}{{.*}}(brief comment: This is getter = ReadonlyGetter)