1 | // RUN: %clang_cc1 -emit-llvm -o %t %s |
2 | |
3 | @interface B |
4 | { |
5 | int _parent; |
6 | } |
7 | @property int parent; |
8 | +(int) classGetter; |
9 | +(void) setClassGetter:(int) arg; |
10 | |
11 | -(int) getter; |
12 | -(void) setGetter:(int)arg; |
13 | @end |
14 | |
15 | @interface A : B |
16 | @end |
17 | |
18 | @implementation A |
19 | +(int) classGetter { |
20 | return 0; |
21 | } |
22 | |
23 | +(int) classGetter2 { |
24 | super.classGetter = 100; |
25 | return super.classGetter; |
26 | } |
27 | |
28 | -(void) method { |
29 | super.getter = 200; |
30 | int x = super.getter; |
31 | } |
32 | -(void) setParent : (int) arg { |
33 | super.parent = arg + super.parent; |
34 | |
35 | } |
36 | @end |
37 | |
38 | void f0() { |
39 | int l1 = A.classGetter; |
40 | int l2 = [A classGetter2]; |
41 | } |
42 | |