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