xref: /aosp_15_r20/external/clang/test/SemaObjC/method-lookup-2.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s
2*67e74705SXin Li// expected-no-diagnostics
3*67e74705SXin Litypedef signed char BOOL;
4*67e74705SXin Li
5*67e74705SXin Li@protocol NSObject
6*67e74705SXin Li+ alloc;
7*67e74705SXin Li- init;
8*67e74705SXin Li- (BOOL) isEqual:(id) object;
9*67e74705SXin Li- (Class)class;
10*67e74705SXin Li@end
11*67e74705SXin Li
12*67e74705SXin Li@interface NSObject < NSObject > {} @end
13*67e74705SXin Li
14*67e74705SXin Li@class NSString, NSPort;
15*67e74705SXin Li
16*67e74705SXin Li@interface NSPortNameServer:NSObject
17*67e74705SXin Li+ (NSPortNameServer *) systemDefaultPortNameServer;
18*67e74705SXin Li@end
19*67e74705SXin Li
20*67e74705SXin Li@interface NSMachBootstrapServer:NSPortNameServer + (id) sharedInstance; @end
21*67e74705SXin Li
22*67e74705SXin Lienum {
23*67e74705SXin Li  NSWindowsNTOperatingSystem = 1, NSWindows95OperatingSystem, NSSolarisOperatingSystem, NSHPUXOperatingSystem, NSMACHOperatingSystem, NSSunOSOperatingSystem, NSOSF1OperatingSystem
24*67e74705SXin Li};
25*67e74705SXin Li
26*67e74705SXin Li@interface NSRunLoop:NSObject {} @end
27*67e74705SXin Li
28*67e74705SXin Li@interface NSRunLoop(NSRunLoopConveniences)
29*67e74705SXin Li- (void) run;
30*67e74705SXin Li@end
31*67e74705SXin Li
32*67e74705SXin Liextern NSString *const NSWillBecomeMultiThreadedNotification;
33*67e74705SXin Li
34*67e74705SXin Li@interface SenTestTool:NSObject {}
35*67e74705SXin Li@end
36*67e74705SXin Li
37*67e74705SXin Li@implementation SenTestTool
38*67e74705SXin Li+ (void) initialize {}
39*67e74705SXin Li+(SenTestTool *) sharedInstance { return 0; }
40*67e74705SXin Li-(int) run { return 0; }
41*67e74705SXin Li+(int) run {
42*67e74705SXin Li  return[[self sharedInstance] run];
43*67e74705SXin Li}
44*67e74705SXin Li@end
45*67e74705SXin Li
46*67e74705SXin Li@interface XX : NSObject
47*67e74705SXin Li
48*67e74705SXin Li+ classMethod;
49*67e74705SXin Li
50*67e74705SXin Li@end
51*67e74705SXin Li
52*67e74705SXin Li@interface YY : NSObject
53*67e74705SXin Li- whatever;
54*67e74705SXin Li@end
55*67e74705SXin Li
56*67e74705SXin Li@implementation YY
57*67e74705SXin Li
58*67e74705SXin Li- whatever {
59*67e74705SXin Li  id obj = [[XX alloc] init];
60*67e74705SXin Li  [[obj class] classMethod];
61*67e74705SXin Li  return 0;
62*67e74705SXin Li}
63*67e74705SXin Li
64*67e74705SXin Li@end
65