Keep the source location of the selector in ObjCMessageExpr.
[clang.git] / test / SemaObjC / method-lookup-2.m
blob53cae83712526dca1d952fc6f74693feb5c02827
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 typedef signed char BOOL;
4 @protocol NSObject
5 + alloc;
6 - init;
7 - (BOOL) isEqual:(id) object;
8 - (Class)class;
9 @end
11 @interface NSObject < NSObject > {} @end
13 @class NSString, NSPort;
15 @interface NSPortNameServer:NSObject
16 + (NSPortNameServer *) systemDefaultPortNameServer;
17 @end
19 @interface NSMachBootstrapServer:NSPortNameServer + (id) sharedInstance; @end
21 enum {
22   NSWindowsNTOperatingSystem = 1, NSWindows95OperatingSystem, NSSolarisOperatingSystem, NSHPUXOperatingSystem, NSMACHOperatingSystem, NSSunOSOperatingSystem, NSOSF1OperatingSystem
25 @interface NSRunLoop:NSObject {} @end
27 @interface NSRunLoop(NSRunLoopConveniences)
28 - (void) run;
29 @end
31 extern NSString *const NSWillBecomeMultiThreadedNotification;
33 @interface SenTestTool:NSObject {}
34 @end
36 @implementation SenTestTool
37 + (void) initialize {}
38 +(SenTestTool *) sharedInstance { return 0; }
39 -(int) run { return 0; }
40 +(int) run {
41   return[[self sharedInstance] run];
43 @end
45 @interface XX : NSObject
47 + classMethod;
49 @end
51 @interface YY : NSObject
52 - whatever;
53 @end
55 @implementation YY 
57 - whatever {
58   id obj = [[XX alloc] init];
59   [[obj class] classMethod];
60   return 0;
63 @end