2009-12-15 23:14:24 +03:00
|
|
|
// RUN: %clang_cc1 -emit-llvm -o %t %s
|
2009-03-20 20:22:23 +03:00
|
|
|
|
|
|
|
@interface B
|
2009-03-20 22:18:21 +03:00
|
|
|
{
|
|
|
|
int _parent;
|
|
|
|
}
|
|
|
|
@property int parent;
|
2009-03-20 20:22:23 +03:00
|
|
|
+(int) classGetter;
|
|
|
|
+(void) setClassGetter:(int) arg;
|
|
|
|
|
|
|
|
-(int) getter;
|
|
|
|
-(void) setGetter:(int)arg;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface A : B
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation A
|
|
|
|
+(int) classGetter {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
+(int) classGetter2 {
|
|
|
|
super.classGetter = 100;
|
|
|
|
return super.classGetter;
|
|
|
|
}
|
|
|
|
|
|
|
|
-(void) method {
|
|
|
|
super.getter = 200;
|
|
|
|
int x = super.getter;
|
|
|
|
}
|
2009-03-20 22:18:21 +03:00
|
|
|
-(void) setParent : (int) arg {
|
|
|
|
super.parent = arg + super.parent;
|
|
|
|
|
|
|
|
}
|
2009-03-20 20:22:23 +03:00
|
|
|
@end
|
|
|
|
|
|
|
|
void f0() {
|
|
|
|
int l1 = A.classGetter;
|
|
|
|
int l2 = [A classGetter2];
|
|
|
|
}
|