50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
 | |
| 
 | |
| @interface I {
 | |
|   int Y;
 | |
| }
 | |
| @property int X;
 | |
| @property int Y;
 | |
| @property int Z;
 | |
| @end
 | |
| 
 | |
| @implementation I
 | |
| @dynamic X; // expected-note {{previous declaration is here}}
 | |
| @dynamic X; // expected-error {{property 'X' is already implemented}}
 | |
| @synthesize Y; // expected-note {{previous use is here}}
 | |
| @synthesize Z=Y; // expected-error {{synthesized properties 'Z' and 'Y' both claim instance variable 'Y'}}
 | |
| @end
 | |
| 
 | |
| // rdar://8703553
 | |
| @interface IDEPathCell 
 | |
| {
 | |
| @private
 | |
|     id _gradientStyle;
 | |
| }
 | |
| 
 | |
| @property (readwrite, assign, nonatomic) id gradientStyle;
 | |
| @end
 | |
| 
 | |
| @implementation IDEPathCell
 | |
| 
 | |
| @synthesize gradientStyle = _gradientStyle;
 | |
| - (void)setGradientStyle:(id)value { }
 | |
| 
 | |
| + (id)_componentCellWithRepresentedObject {
 | |
|     return self.gradientStyle;
 | |
| }
 | |
| @end
 | |
| 
 | |
| // rdar://11054153
 | |
| @interface rdar11054153
 | |
| @property int P; // expected-error {{type of property 'P' ('int') does not match type of accessor 'P' ('void')}}
 | |
| - (void)P; // expected-note {{declared here}}
 | |
| 
 | |
| @property int P1; // expected-warning {{type of property 'P1' does not match type of accessor 'P1'}} 
 | |
| - (double) P1; // expected-note {{declared here}}
 | |
| 
 | |
| @property int P2; // expected-error {{type of property 'P2' ('int') does not match type of accessor 'P2' ('double *')}}
 | |
| - (double*)P2; // expected-note {{declared here}}
 | |
| 
 | |
| @end
 |