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