1debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor/* Run lines are at the end, since line/column matter in this test. */
219a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor@interface MyClass { @public }
3debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor@end
4debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor
5debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor@implementation MyClass
6debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor@end
7debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor
80c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:2:2 %s | FileCheck -check-prefix=CHECK-CC1 %s
978d2fda9403bf61e9d2b8a0686b88d03064a12f0Douglas Gregor// CHECK-CC1: {TypedText class}{HorizontalSpace  }{Placeholder name}
10fa9f0a085ea5a535fa8c7f7782b39f838ceb2130Douglas Gregor// CHECK-CC1: {TypedText compatibility_alias}{HorizontalSpace  }{Placeholder alias}{HorizontalSpace  }{Placeholder class}
11fa9f0a085ea5a535fa8c7f7782b39f838ceb2130Douglas Gregor// CHECK-CC1: {TypedText implementation}{HorizontalSpace  }{Placeholder class}
12fa9f0a085ea5a535fa8c7f7782b39f838ceb2130Douglas Gregor// CHECK-CC1: {TypedText interface}{HorizontalSpace  }{Placeholder class}
13fa9f0a085ea5a535fa8c7f7782b39f838ceb2130Douglas Gregor// CHECK-CC1: {TypedText protocol}{HorizontalSpace  }{Placeholder protocol}
14debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor
150c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:3:2 %s | FileCheck -check-prefix=CHECK-CC2 %s
16debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor// CHECK-CC2: {TypedText end}
17debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor// CHECK-CC2: {TypedText optional}
18debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor// CHECK-CC2: {TypedText property}
19debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor// CHECK-CC2: {TypedText required}
20debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor
210c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:6:2 %s | FileCheck -check-prefix=CHECK-CC3 %s
22fa9f0a085ea5a535fa8c7f7782b39f838ceb2130Douglas Gregor// CHECK-CC3: {TypedText dynamic}{HorizontalSpace  }{Placeholder property}
23debc7cbc085252e68d7672d68620cfab1c714e1bDouglas Gregor// CHECK-CC3: {TypedText end}
24fa9f0a085ea5a535fa8c7f7782b39f838ceb2130Douglas Gregor// CHECK-CC3: {TypedText synthesize}{HorizontalSpace  }{Placeholder property}
2513529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor
260c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:2:1 %s | FileCheck -check-prefix=CHECK-CC4 %s
2778d2fda9403bf61e9d2b8a0686b88d03064a12f0Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText @class}{HorizontalSpace  }{Placeholder name}
2813529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText @compatibility_alias}{HorizontalSpace  }{Placeholder alias}{HorizontalSpace  }{Placeholder class}
2913529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText @implementation}{HorizontalSpace  }{Placeholder class}
3013529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText @interface}{HorizontalSpace  }{Placeholder class}
3113529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: NotImplemented:{TypedText @protocol}{HorizontalSpace  }{Placeholder protocol}
32916033e99a497f2bd499dcf5429fc9eccf1e49eeDouglas Gregor// CHECK-CC4: NotImplemented:{TypedText _Bool}
3313529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: TypedefDecl:{TypedText Class}
3413529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: TypedefDecl:{TypedText id}
3513529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC4: TypedefDecl:{TypedText SEL}
3613529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor
370c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:3:1 %s | FileCheck -check-prefix=CHECK-CC5 %s
3813529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC5: {TypedText @end}
3913529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC5: {TypedText @optional}
4013529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC5: {TypedText @property}
4113529ab3783ec557034e2fce4d4152372aaabe64Douglas Gregor// CHECK-CC5: {TypedText @required}
4219a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor
430c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:2:23 %s | FileCheck -check-prefix=CHECK-CC6 %s
4419a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC6: NotImplemented:{TypedText package}
4519a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC6: NotImplemented:{TypedText private}
4619a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC6: NotImplemented:{TypedText protected}
4719a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC6: NotImplemented:{TypedText public}
4819a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor
490c9397b58fe69d34f3111c8ffdd450b061eab8f6Douglas Gregor// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:2:22 %s | FileCheck -check-prefix=CHECK-CC7 %s
5019a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC7: NotImplemented:{TypedText @package}
5119a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC7: NotImplemented:{TypedText @private}
5219a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC7: NotImplemented:{TypedText @protected}
5319a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC7: NotImplemented:{TypedText @public}
5419a2e1e609e6a9db13f649ccd9f4d1ec16aa5acdDouglas Gregor// CHECK-CC7: NotImplemented:{TypedText _Bool}
55