1 // RUN: %clang_cc1 -emit-llvm -o %t %s 2 3 @interface Object 4 - (id)new; 5 @end 6 7 @interface ReadOnly : Object 8 { 9 int _object; 10 int _Anotherobject; 11 } 12 @property(readonly) int object; 13 @property(readonly) int Anotherobject; 14 @end 15 16 @interface ReadOnly () 17 @property(readwrite) int object; 18 @property(readwrite, setter = myAnotherobjectSetter:) int Anotherobject; 19 @end 20 21 @implementation ReadOnly 22 @synthesize object = _object; 23 @synthesize Anotherobject = _Anotherobject; 24 - (void) myAnotherobjectSetter : (int)val { 25 _Anotherobject = val; 26 } 27 @end 28 29 int main(int argc, char **argv) { 30 ReadOnly *test = [ReadOnly new]; 31 test.object = 12345; 32 test.Anotherobject = 200; 33 return test.object - 12345 + test.Anotherobject - 200; 34 } 35 36