ObjCProperties.m revision 65d39251ff57b8e33cf6d3a7fcc6aa1c6f8cdc68
1// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-check-objc-mem -analyzer-store=basic -analyzer-constraints=basic %s -verify
2// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-check-objc-mem -analyzer-store=basic -analyzer-constraints=range %s -verify
3// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-check-objc-mem -analyzer-store=region -analyzer-constraints=basic %s -verify
4// RUN: %clang_cc1 -analyze -analyzer-checker=core.experimental -analyzer-check-objc-mem -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