[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / clang / test / SemaObjC / property-error-readonly-assign.m
blob8b9b49a3932f056c0e5a9035189cb52abb0bc1b9
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 @interface A
4  -(int) x;
5 @property (readonly) int x;
6 @property int ok;
7 @end
9 @interface B
10  -(void) setOk:(int)arg;
11  -(int) x;
12  -(int) ok;
13 @end
15 void f0(A *a, B* b) {
16   a.x = 10;  // expected-error {{assignment to readonly property}}
17   a.ok = 20;
18   b.x = 10;  // expected-error {{no setter method 'setX:' for assignment to property}}
19   b.ok = 20;
22 typedef struct {
23   int i1, i2;
24 } NSRect;
26 NSRect NSMakeRect(void);
28 @interface NSWindow 
30     NSRect _frame;
32 - (NSRect)frame;
33 @end
35 @interface NSWindow (Category)
36 -(void)methodToMakeClangCrash;
37 @end
39 @implementation NSWindow (Category)
40 -(void)methodToMakeClangCrash
42  self.frame =  NSMakeRect(); // expected-error {{no setter method 'setFrame:' for assignment to property}}
44 @end