Douglas Gregor | 9a0c85e | 2009-12-07 09:51:25 +0000 | [diff] [blame] | 1 | /* The run lines are below, because this test is line- and |
| 2 | column-number sensitive. */ |
Douglas Gregor | 1ca6ae8 | 2010-01-14 01:09:38 +0000 | [diff] [blame] | 3 | @interface MyClass { int ivar; } |
Douglas Gregor | 9a0c85e | 2009-12-07 09:51:25 +0000 | [diff] [blame] | 4 | - (int)myMethod:(int)arg; |
| 5 | @end |
| 6 | |
| 7 | @implementation MyClass |
| 8 | - (int)myMethod:(int)arg { |
| 9 | @synchronized (@encode(MyClass)) { } |
| 10 | } |
| 11 | @end |
Douglas Gregor | 458433d | 2010-08-26 15:07:07 +0000 | [diff] [blame] | 12 | |
| 13 | @interface A |
| 14 | + (int)add:(int)x to:(int)y; |
| 15 | + (int)add:(int)x to:(int)y plus:(int)z; |
| 16 | @end |
| 17 | |
| 18 | void f() { |
| 19 | @selector(add:to:); |
| 20 | } |
| 21 | |
Douglas Gregor | 32be4a5 | 2010-10-11 21:37:58 +0000 | [diff] [blame] | 22 | // RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:9:4 %s | FileCheck -check-prefix=CHECK-CC1 %s |
Douglas Gregor | 9a0c85e | 2009-12-07 09:51:25 +0000 | [diff] [blame] | 23 | // CHECK-CC1: {TypedText encode}{LeftParen (}{Placeholder type-name}{RightParen )} |
| 24 | // CHECK-CC1: {TypedText protocol}{LeftParen (}{Placeholder protocol-name}{RightParen )} |
| 25 | // CHECK-CC1: {TypedText selector}{LeftParen (}{Placeholder selector}{RightParen )} |
Douglas Gregor | 834389b | 2010-01-12 06:38:28 +0000 | [diff] [blame] | 26 | // CHECK-CC1: {TypedText synchronized}{HorizontalSpace }{LeftParen (}{Placeholder expression}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }} |
Douglas Gregor | fe0bdba | 2010-04-06 20:11:37 +0000 | [diff] [blame] | 27 | // CHECK-CC1: {TypedText throw}{HorizontalSpace }{Placeholder expression} |
Douglas Gregor | 9a0c85e | 2009-12-07 09:51:25 +0000 | [diff] [blame] | 28 | // CHECK-CC1: {TypedText try}{LeftBrace {}{Placeholder statements}{RightBrace }}{Text @catch}{LeftParen (}{Placeholder parameter}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }}{Text @finally}{LeftBrace {}{Placeholder statements}{RightBrace }} |
Douglas Gregor | 32be4a5 | 2010-10-11 21:37:58 +0000 | [diff] [blame] | 29 | // RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:9:19 %s | FileCheck -check-prefix=CHECK-CC2 %s |
Douglas Gregor | 9a0c85e | 2009-12-07 09:51:25 +0000 | [diff] [blame] | 30 | // CHECK-CC2: {TypedText encode}{LeftParen (}{Placeholder type-name}{RightParen )} |
| 31 | // CHECK-CC2: {TypedText protocol}{LeftParen (}{Placeholder protocol-name}{RightParen )} |
| 32 | // CHECK-CC2: {TypedText selector}{LeftParen (}{Placeholder selector}{RightParen )} |
Douglas Gregor | 32be4a5 | 2010-10-11 21:37:58 +0000 | [diff] [blame] | 33 | // RUN: env CINDEXTEST_CODE_COMPLETE_PATTERNS=1 c-index-test -code-completion-at=%s:9:3 %s | FileCheck -check-prefix=CHECK-CC3 %s |
Douglas Gregor | 8ca7208 | 2011-10-18 21:20:17 +0000 | [diff] [blame] | 34 | // CHECK-CC3: NotImplemented:{ResultType char[]}{TypedText @encode}{LeftParen (}{Placeholder type-name}{RightParen )} |
| 35 | // CHECK-CC3: NotImplemented:{ResultType Protocol *}{TypedText @protocol}{LeftParen (}{Placeholder protocol-name}{RightParen )} |
| 36 | // CHECK-CC3: NotImplemented:{ResultType SEL}{TypedText @selector}{LeftParen (}{Placeholder selector}{RightParen )} |
Douglas Gregor | b6ac245 | 2010-01-13 21:24:21 +0000 | [diff] [blame] | 37 | // CHECK-CC3: NotImplemented:{TypedText @synchronized}{HorizontalSpace }{LeftParen (}{Placeholder expression}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }} |
Douglas Gregor | fe0bdba | 2010-04-06 20:11:37 +0000 | [diff] [blame] | 38 | // CHECK-CC3: NotImplemented:{TypedText @throw}{HorizontalSpace }{Placeholder expression} |
Douglas Gregor | b6ac245 | 2010-01-13 21:24:21 +0000 | [diff] [blame] | 39 | // CHECK-CC3: NotImplemented:{TypedText @try}{LeftBrace {}{Placeholder statements}{RightBrace }}{Text @catch}{LeftParen (}{Placeholder parameter}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }}{Text @finally}{LeftBrace {}{Placeholder statements}{RightBrace }} |
Douglas Gregor | ab0b4f1 | 2010-01-13 23:24:38 +0000 | [diff] [blame] | 40 | // CHECK-CC3: NotImplemented:{ResultType SEL}{TypedText _cmd} |
| 41 | // CHECK-CC3: ParmDecl:{ResultType int}{TypedText arg} |
Douglas Gregor | b6ac245 | 2010-01-13 21:24:21 +0000 | [diff] [blame] | 42 | // CHECK-CC3: TypedefDecl:{TypedText Class} |
| 43 | // CHECK-CC3: TypedefDecl:{TypedText id} |
Douglas Gregor | 1ca6ae8 | 2010-01-14 01:09:38 +0000 | [diff] [blame] | 44 | // CHECK-CC3: ObjCIvarDecl:{ResultType int}{TypedText ivar} |
Douglas Gregor | b6ac245 | 2010-01-13 21:24:21 +0000 | [diff] [blame] | 45 | // CHECK-CC3: ObjCInterfaceDecl:{TypedText MyClass} |
| 46 | // CHECK-CC3: TypedefDecl:{TypedText SEL} |
Douglas Gregor | ab0b4f1 | 2010-01-13 23:24:38 +0000 | [diff] [blame] | 47 | // CHECK-CC3: NotImplemented:{ResultType MyClass *}{TypedText self} |
Douglas Gregor | 458433d | 2010-08-26 15:07:07 +0000 | [diff] [blame] | 48 | // RUN: c-index-test -code-completion-at=%s:19:13 %s | FileCheck -check-prefix=CHECK-CC4 %s |
Douglas Gregor | 8ec904c | 2010-10-19 00:03:23 +0000 | [diff] [blame] | 49 | // CHECK-CC4: NotImplemented:{TypedText add:to:} (40) |
| 50 | // CHECK-CC4: NotImplemented:{TypedText add:to:plus:} (40) |
| 51 | // CHECK-CC4: NotImplemented:{TypedText myMethod:} (40) |
Douglas Gregor | 458433d | 2010-08-26 15:07:07 +0000 | [diff] [blame] | 52 | // RUN: c-index-test -code-completion-at=%s:19:17 %s | FileCheck -check-prefix=CHECK-CC5 %s |
Douglas Gregor | 8ec904c | 2010-10-19 00:03:23 +0000 | [diff] [blame] | 53 | // CHECK-CC5: NotImplemented:{Informative add:}{TypedText to:} (40) |
| 54 | // CHECK-CC5: NotImplemented:{Informative add:}{TypedText to:plus:} (40) |
Douglas Gregor | 458433d | 2010-08-26 15:07:07 +0000 | [diff] [blame] | 55 | |