complete-at-exprstmt.m revision 1ca6ae865cc632e9f626faacd4937e666eb05f6b
1/* The run lines are below, because this test is line- and 2 column-number sensitive. */ 3@interface MyClass { int ivar; } 4- (int)myMethod:(int)arg; 5@end 6 7@implementation MyClass 8- (int)myMethod:(int)arg { 9 @synchronized (@encode(MyClass)) { } 10} 11@end 12// RUN: c-index-test -code-completion-at=%s:9:4 %s | FileCheck -check-prefix=CHECK-CC1 %s 13// CHECK-CC1: {TypedText encode}{LeftParen (}{Placeholder type-name}{RightParen )} 14// CHECK-CC1: {TypedText protocol}{LeftParen (}{Placeholder protocol-name}{RightParen )} 15// CHECK-CC1: {TypedText selector}{LeftParen (}{Placeholder selector}{RightParen )} 16// CHECK-CC1: {TypedText synchronized}{HorizontalSpace }{LeftParen (}{Placeholder expression}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }} 17// CHECK-CC1: {TypedText throw}{HorizontalSpace }{Placeholder expression}{SemiColon ;} 18// CHECK-CC1: {TypedText try}{LeftBrace {}{Placeholder statements}{RightBrace }}{Text @catch}{LeftParen (}{Placeholder parameter}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }}{Text @finally}{LeftBrace {}{Placeholder statements}{RightBrace }} 19// RUN: c-index-test -code-completion-at=%s:9:19 %s | FileCheck -check-prefix=CHECK-CC2 %s 20// CHECK-CC2: {TypedText encode}{LeftParen (}{Placeholder type-name}{RightParen )} 21// CHECK-CC2: {TypedText protocol}{LeftParen (}{Placeholder protocol-name}{RightParen )} 22// CHECK-CC2: {TypedText selector}{LeftParen (}{Placeholder selector}{RightParen )} 23// RUN: c-index-test -code-completion-at=%s:9:3 %s | FileCheck -check-prefix=CHECK-CC3 %s 24// CHECK-CC3: NotImplemented:{TypedText @encode}{LeftParen (}{Placeholder type-name}{RightParen )} 25// CHECK-CC3: NotImplemented:{TypedText @protocol}{LeftParen (}{Placeholder protocol-name}{RightParen )} 26// CHECK-CC3: NotImplemented:{TypedText @selector}{LeftParen (}{Placeholder selector}{RightParen )} 27// CHECK-CC3: NotImplemented:{TypedText @synchronized}{HorizontalSpace }{LeftParen (}{Placeholder expression}{RightParen )}{LeftBrace {}{Placeholder statements}{RightBrace }} 28// CHECK-CC3: NotImplemented:{TypedText @throw}{HorizontalSpace }{Placeholder expression}{SemiColon ;} 29// 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 }} 30// CHECK-CC3: NotImplemented:{ResultType SEL}{TypedText _cmd} 31// CHECK-CC3: ParmDecl:{ResultType int}{TypedText arg} 32// CHECK-CC3: TypedefDecl:{TypedText Class} 33// CHECK-CC3: TypedefDecl:{TypedText id} 34// CHECK-CC3: ObjCIvarDecl:{ResultType int}{TypedText ivar} 35// CHECK-CC3: ObjCInterfaceDecl:{TypedText MyClass} 36// CHECK-CC3: TypedefDecl:{TypedText SEL} 37// CHECK-CC3: NotImplemented:{ResultType MyClass *}{TypedText self} 38