1f51a89d39
These were ignored by git accidentally. We want ALL OF THEM since they all came in the llvm/clang source distribution.
117 lines
2.6 KiB
Objective-C
117 lines
2.6 KiB
Objective-C
// RUN: %clang_cc1 -fsyntax-only -fobjc-default-synthesize-properties -verify -Wno-objc-root-class %s
|
|
|
|
@interface NSObject
|
|
- (void) release;
|
|
- (id) retain;
|
|
@end
|
|
@class NSString;
|
|
|
|
@interface SynthItAll : NSObject
|
|
@property int howMany;
|
|
@property (retain) NSString* what;
|
|
@end
|
|
|
|
@implementation SynthItAll
|
|
//@synthesize howMany, what;
|
|
@end
|
|
|
|
|
|
@interface SynthSetter : NSObject
|
|
@property (nonatomic) int howMany; // REM: nonatomic to avoid warnings about only implementing one of the pair
|
|
@property (nonatomic, retain) NSString* what;
|
|
@end
|
|
|
|
@implementation SynthSetter
|
|
//@synthesize howMany, what;
|
|
|
|
- (int) howMany {
|
|
return _howMany;
|
|
}
|
|
// - (void) setHowMany: (int) value
|
|
|
|
- (NSString*) what {
|
|
return _what;
|
|
}
|
|
// - (void) setWhat: (NSString*) value
|
|
@end
|
|
|
|
|
|
@interface SynthGetter : NSObject
|
|
@property (nonatomic) int howMany; // REM: nonatomic to avoid warnings about only implementing one of the pair
|
|
@property (nonatomic, retain) NSString* what;
|
|
@end
|
|
|
|
@implementation SynthGetter
|
|
//@synthesize howMany, what;
|
|
|
|
// - (int) howMany
|
|
- (void) setHowMany: (int) value {
|
|
_howMany = value;
|
|
}
|
|
|
|
// - (NSString*) what
|
|
- (void) setWhat: (NSString*) value {
|
|
if (_what != value) {
|
|
[_what release];
|
|
_what = [value retain];
|
|
}
|
|
}
|
|
@end
|
|
|
|
|
|
@interface SynthNone : NSObject
|
|
@property int howMany;
|
|
@property (retain) NSString* what;
|
|
@end
|
|
|
|
@implementation SynthNone
|
|
//@synthesize howMany, what; // REM: Redundant anyway
|
|
|
|
- (int) howMany {
|
|
return howMany; // expected-error {{use of undeclared identifier 'howMany'}}
|
|
}
|
|
- (void) setHowMany: (int) value {
|
|
howMany = value; // expected-error {{use of undeclared identifier 'howMany'}}
|
|
}
|
|
|
|
- (NSString*) what {
|
|
return what; // expected-error {{use of undeclared identifier 'what'}}
|
|
}
|
|
- (void) setWhat: (NSString*) value {
|
|
if (what != value) { // expected-error {{use of undeclared identifier 'what'}}
|
|
[what release]; // expected-error {{use of undeclared identifier 'what'}}
|
|
what = [value retain]; // expected-error {{use of undeclared identifier 'what'}}
|
|
}
|
|
}
|
|
@end
|
|
|
|
// rdar://8349319
|
|
// No default synthesis if implementation has getter (readonly) and setter(readwrite) methods.
|
|
@interface DSATextSearchResult
|
|
@property(assign,readonly) float relevance;
|
|
@property(assign,readonly) char isTitleMatch;
|
|
@end
|
|
|
|
@interface DSANodeSearchResult : DSATextSearchResult {}
|
|
@end
|
|
|
|
|
|
@implementation DSATextSearchResult
|
|
-(char)isTitleMatch {
|
|
return (char)0;
|
|
}
|
|
|
|
-(float)relevance {
|
|
return 0.0;
|
|
}
|
|
@end
|
|
|
|
@implementation DSANodeSearchResult
|
|
-(id)initWithNode:(id )node relevance:(float)relevance isTitleMatch:(char)isTitleMatch {
|
|
relevance = 0.0;
|
|
isTitleMatch = 'a';
|
|
return self;
|
|
}
|
|
@end
|
|
|