xref: /aosp_15_r20/external/clang/test/Index/complete-recovery.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li/* Run lines are at the end, since line/column matter in this test. */
2*67e74705SXin Li
3*67e74705SXin Li@interface A
4*67e74705SXin Li- (void)method:(int)x;
5*67e74705SXin Li@end
6*67e74705SXin Li
7*67e74705SXin Li@implementation A
8*67e74705SXin Li- (void)method:(int)x {
9*67e74705SXin Li  A *a = [A method:1];
10*67e74705SXin Li  blarg * blah = wibble;
11*67e74705SXin Li  A *a2;
12*67e74705SXin Li  z = [a2 method:1];
13*67e74705SXin Li  blah ? blech : [a2 method:1];
14*67e74705SXin Li  (a * a2)([a2 method:1]);
15*67e74705SXin Li  B *a = [a2 method:1];
16*67e74705SXin Li}
17*67e74705SXin Li@end
18*67e74705SXin Li
19*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:9:20 %s 2>%t | FileCheck -check-prefix=CHECK-CC1 %s
20*67e74705SXin Li// RUN: not grep error %t
21*67e74705SXin Li// CHECK-CC1: NotImplemented:{ResultType char[]}{TypedText @encode}{LeftParen (}{Placeholder type-name}{RightParen )}
22*67e74705SXin Li// CHECK-CC1-NOT: NotImplemented:{TypedText _Bool}
23*67e74705SXin Li// CHECK-CC1: VarDecl:{ResultType A *}{TypedText a}
24*67e74705SXin Li// CHECK-CC1: NotImplemented:{ResultType size_t}{TypedText sizeof}{LeftParen (}{Placeholder expression-or-type}{RightParen )}
25*67e74705SXin Li
26*67e74705SXin Li// Test case for fix committed in r145441.
27*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:9:20 %s -fms-compatibility | FileCheck -check-prefix=CHECK-CC1 %s
28*67e74705SXin Li
29*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:10:24 %s | FileCheck -check-prefix=CHECK-CC2 %s
30*67e74705SXin Li// CHECK-CC2: NotImplemented:{ResultType char[]}{TypedText @encode}{LeftParen (}{Placeholder type-name}{RightParen )}
31*67e74705SXin Li// CHECK-CC2: NotImplemented:{TypedText _Bool}
32*67e74705SXin Li// CHECK-CC2: VarDecl:{ResultType A *}{TypedText a}
33*67e74705SXin Li// CHECK-CC2: NotImplemented:{ResultType size_t}{TypedText sizeof}{LeftParen (}{Placeholder expression-or-type}{RightParen )}
34*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:12:11 %s | FileCheck -check-prefix=CHECK-CC3 %s
35*67e74705SXin Li// CHECK-CC3: ObjCInstanceMethodDecl:{ResultType void}{TypedText method:}{Placeholder (int)} (32)
36*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:13:22 %s | FileCheck -check-prefix=CHECK-CC3 %s
37*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:14:16 %s | FileCheck -check-prefix=CHECK-CC3 %s
38*67e74705SXin Li// RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:15:14 %s | FileCheck -check-prefix=CHECK-CC3 %s
39