36 lines
723 B
Mathematica
36 lines
723 B
Mathematica
|
// RUN: %clang_cc1 -emit-llvm -o %t %s
|
||
|
|
||
|
@interface Object
|
||
|
- (id)new;
|
||
|
@end
|
||
|
|
||
|
@interface ReadOnly : Object
|
||
|
{
|
||
|
int _object;
|
||
|
int _Anotherobject;
|
||
|
}
|
||
|
@property(readonly) int object;
|
||
|
@property(readonly) int Anotherobject;
|
||
|
@end
|
||
|
|
||
|
@interface ReadOnly ()
|
||
|
@property(readwrite) int object;
|
||
|
@property(readwrite, setter = myAnotherobjectSetter:) int Anotherobject;
|
||
|
@end
|
||
|
|
||
|
@implementation ReadOnly
|
||
|
@synthesize object = _object;
|
||
|
@synthesize Anotherobject = _Anotherobject;
|
||
|
- (void) myAnotherobjectSetter : (int)val {
|
||
|
_Anotherobject = val;
|
||
|
}
|
||
|
@end
|
||
|
|
||
|
int main(int argc, char **argv) {
|
||
|
ReadOnly *test = [ReadOnly new];
|
||
|
test.object = 12345;
|
||
|
test.Anotherobject = 200;
|
||
|
return test.object - 12345 + test.Anotherobject - 200;
|
||
|
}
|
||
|
|