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 22 void 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