1// 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} 26// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:23:19 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s 27// CHECK-CC1: categoryClassMethod 28// CHECK-CC1: classMethod1:withKeyword: 29// CHECK-CC1: classMethod2 30// CHECK-CC1: new 31// CHECK-CC1: protocolClassMethod 32// RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:24:8 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s 33// CHECK-CC2: categoryInstanceMethod 34// CHECK-CC2: instanceMethod1 35// CHECK-CC2: protocolInstanceMethod 36