150
|
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
|
236
|
38 void f0(void) {
|
150
|
39 int l1 = A.classGetter;
|
|
40 int l2 = [A classGetter2];
|
|
41 }
|