xref: /minix3/external/bsd/llvm/dist/clang/test/Analysis/ObjCProperties.m (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc// RUN: %clang_cc1 -analyze -analyzer-checker=core,alpha.core -analyzer-store=region -analyzer-constraints=range -Wno-objc-root-class %s -verify
2*f4a2713aSLionel Sambuc// expected-no-diagnostics
3*f4a2713aSLionel Sambuc
4*f4a2713aSLionel Sambuc// The point of this test cases is to exercise properties in the static
5*f4a2713aSLionel Sambuc// analyzer
6*f4a2713aSLionel Sambuc
7*f4a2713aSLionel Sambuc@interface MyClass {
8*f4a2713aSLionel Sambuc@private
9*f4a2713aSLionel Sambuc    id _X;
10*f4a2713aSLionel Sambuc}
11*f4a2713aSLionel Sambuc- (id)initWithY:(id)Y;
12*f4a2713aSLionel Sambuc@property(copy, readwrite) id X;
13*f4a2713aSLionel Sambuc@end
14*f4a2713aSLionel Sambuc
15*f4a2713aSLionel Sambuc@implementation MyClass
16*f4a2713aSLionel Sambuc@synthesize X = _X;
17*f4a2713aSLionel Sambuc- (id)initWithY:(id)Y {
18*f4a2713aSLionel Sambuc  self.X = Y;
19*f4a2713aSLionel Sambuc  return self;
20*f4a2713aSLionel Sambuc}
21*f4a2713aSLionel Sambuc@end
22