[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / method-lookup-4.m
blob807d4dae36b5ab82664be126d165558af6fd80e8
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 // expected-no-diagnostics
4 @interface NSObject {}
6 @end
8 @interface MyClass : NSObject {}
10 @end
12 @interface MyClass (MyCategorie)
14 @end
16 @interface MySubClass : MyClass {}
18 @end
20 @interface MySubSubClass : MySubClass {}
22 @end
24 @implementation NSObject (NSObjectCategory)
25 - (void)rootMethod {}
26 @end
28 @implementation MyClass
30 + (void)myClassMethod { }
31 - (void)myMethod { }
33 @end
35 @implementation MyClass (MyCategorie)
36 + (void)myClassCategoryMethod { }
37 - (void)categoryMethod {}
38 @end
40 @implementation MySubClass
42 - (void)mySubMethod {}
44 - (void)myTest {
45   [self mySubMethod];
46   // should lookup method in superclass implementation if available
47   [self myMethod];
48   [super myMethod];
49   
50   [self categoryMethod];
51   [super categoryMethod];
52   
53   // instance method of root class
54   [MyClass rootMethod];
55   
56   [MyClass myClassMethod];
57   [MySubClass myClassMethod];
58   
59   [MyClass myClassCategoryMethod];
60   [MySubClass myClassCategoryMethod];
63 @end