blob: a7b111f59ed7ade7ccf94ed8522c456e51e15047 [file] [log] [blame]
Steve Naroffc4df6d22009-11-07 02:08:14 +00001// Note: the run lines follow their respective tests, since line/column
2// matter in this test.
3
4@protocol FooTestProtocol
5+ protocolClassMethod;
6- protocolInstanceMethod;
7@end
8@interface Foo <FooTestProtocol> {
9 void *isa;
10}
11+ (int)classMethod1:a withKeyword:b;
12+ (void)classMethod2;
13+ new;
14- instanceMethod1;
15@end
16
17@interface Foo (FooTestCategory)
18+ categoryClassMethod;
19- categoryInstanceMethod;
20@end
21
22void func() {
23 Foo *obj = [Foo new];
24 [obj xx];
25}
Daniel Dunbara5728872009-12-15 20:14:24 +000026// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:23:19 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
Douglas Gregorab0b4f12010-01-13 23:24:38 +000027// CHECK-CC1: categoryClassMethod
28// CHECK-CC1: classMethod1:withKeyword:
29// CHECK-CC1: classMethod2
30// CHECK-CC1: new
31// CHECK-CC1: protocolClassMethod
Daniel Dunbara5728872009-12-15 20:14:24 +000032// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:24:8 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s
Douglas Gregorab0b4f12010-01-13 23:24:38 +000033// CHECK-CC2: categoryInstanceMethod
34// CHECK-CC2: instanceMethod1
35// CHECK-CC2: protocolInstanceMethod