1// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-store=basic -analyzer-constraints=basic %s -verify 2// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-store=basic -analyzer-constraints=range %s -verify 3// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-store=region -analyzer-constraints=basic %s -verify 4// RUN: %clang_cc1 -analyze -analyzer-checker=core,core.experimental -analyzer-store=region -analyzer-constraints=range %s -verify 5 6// The point of this test cases is to exercise properties in the static 7// analyzer 8 9@interface MyClass { 10@private 11 id _X; 12} 13- (id)initWithY:(id)Y; 14@property(copy, readwrite) id X; 15@end 16 17@implementation MyClass 18@synthesize X = _X; 19- (id)initWithY:(id)Y { 20 self.X = Y; 21 return self; 22} 23@end 24