annotate clang/test/SemaObjC/property-9.m @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 typedef signed char BOOL;
anatofuz
parents:
diff changeset
4 @protocol NSObject - (BOOL)isEqual:(id)object; @end
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 @interface NSObject <NSObject> {} @end
anatofuz
parents:
diff changeset
7
anatofuz
parents:
diff changeset
8 @interface _NSServicesInContextMenu : NSObject {
anatofuz
parents:
diff changeset
9 id _requestor;
anatofuz
parents:
diff changeset
10 NSObject *_appleEventDescriptor;
anatofuz
parents:
diff changeset
11 }
anatofuz
parents:
diff changeset
12
anatofuz
parents:
diff changeset
13 @property (retain, nonatomic) id requestor;
anatofuz
parents:
diff changeset
14 @property (retain, nonatomic) id appleEventDescriptor;
anatofuz
parents:
diff changeset
15
anatofuz
parents:
diff changeset
16 @end
anatofuz
parents:
diff changeset
17
anatofuz
parents:
diff changeset
18 @implementation _NSServicesInContextMenu
anatofuz
parents:
diff changeset
19
anatofuz
parents:
diff changeset
20 @synthesize requestor = _requestor, appleEventDescriptor = _appleEventDescriptor;
anatofuz
parents:
diff changeset
21
anatofuz
parents:
diff changeset
22 @end
anatofuz
parents:
diff changeset
23
anatofuz
parents:
diff changeset
24 @class NSString;
anatofuz
parents:
diff changeset
25
anatofuz
parents:
diff changeset
26 @protocol MyProtocol
anatofuz
parents:
diff changeset
27 - (NSString *)stringValue;
anatofuz
parents:
diff changeset
28 @end
anatofuz
parents:
diff changeset
29
anatofuz
parents:
diff changeset
30 @interface MyClass : NSObject {
anatofuz
parents:
diff changeset
31 id _myIvar;
anatofuz
parents:
diff changeset
32 }
anatofuz
parents:
diff changeset
33 @property (readwrite, retain) id<MyProtocol> myIvar;
anatofuz
parents:
diff changeset
34 @end
anatofuz
parents:
diff changeset
35
anatofuz
parents:
diff changeset
36 @implementation MyClass
anatofuz
parents:
diff changeset
37 @synthesize myIvar = _myIvar;
anatofuz
parents:
diff changeset
38 @end
anatofuz
parents:
diff changeset
39
anatofuz
parents:
diff changeset
40
anatofuz
parents:
diff changeset
41 @interface BadPropClass
anatofuz
parents:
diff changeset
42 {
anatofuz
parents:
diff changeset
43 int _awesome;
anatofuz
parents:
diff changeset
44 }
anatofuz
parents:
diff changeset
45
anatofuz
parents:
diff changeset
46 @property (readonly) int; // expected-warning {{declaration does not declare anything}}
anatofuz
parents:
diff changeset
47 @property (readonly) ; // expected-error {{type name requires a specifier or qualifier}}
anatofuz
parents:
diff changeset
48 @property (readonly) int : 4; // expected-error {{property requires fields to be named}}
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50
anatofuz
parents:
diff changeset
51 // test parser recovery: rdar://6254579
anatofuz
parents:
diff changeset
52 @property ( // expected-note {{to match this '('}}
anatofuz
parents:
diff changeset
53 readonly getter=isAwesome) // expected-error {{expected ')'}}
anatofuz
parents:
diff changeset
54
anatofuz
parents:
diff changeset
55 int _awesome;
anatofuz
parents:
diff changeset
56 @property (readonlyx) // expected-error {{unknown property attribute 'readonlyx'}}
anatofuz
parents:
diff changeset
57 int _awesome2;
anatofuz
parents:
diff changeset
58
anatofuz
parents:
diff changeset
59 @property ( // expected-note {{to match this '('}}
anatofuz
parents:
diff changeset
60 +) // expected-error {{expected ')'}}
anatofuz
parents:
diff changeset
61
anatofuz
parents:
diff changeset
62 int _awesome3;
anatofuz
parents:
diff changeset
63
anatofuz
parents:
diff changeset
64 @end
anatofuz
parents:
diff changeset
65
anatofuz
parents:
diff changeset
66 @protocol PVImageViewProtocol
anatofuz
parents:
diff changeset
67 @property int inEyeDropperMode;
anatofuz
parents:
diff changeset
68 @end
anatofuz
parents:
diff changeset
69
anatofuz
parents:
diff changeset
70 @interface Cls
anatofuz
parents:
diff changeset
71 @property int inEyeDropperMode;
anatofuz
parents:
diff changeset
72 @end
anatofuz
parents:
diff changeset
73
anatofuz
parents:
diff changeset
74 @interface PVAdjustColor @end
anatofuz
parents:
diff changeset
75
anatofuz
parents:
diff changeset
76 @implementation PVAdjustColor
anatofuz
parents:
diff changeset
77
anatofuz
parents:
diff changeset
78 - xx {
anatofuz
parents:
diff changeset
79 id <PVImageViewProtocol> view;
anatofuz
parents:
diff changeset
80 Cls *c;
anatofuz
parents:
diff changeset
81
anatofuz
parents:
diff changeset
82 c.inEyeDropperMode = 1;
anatofuz
parents:
diff changeset
83 view.inEyeDropperMode = 1;
anatofuz
parents:
diff changeset
84 }
anatofuz
parents:
diff changeset
85 @end
anatofuz
parents:
diff changeset
86
anatofuz
parents:
diff changeset
87 // radar 7427072
anatofuz
parents:
diff changeset
88 @interface MyStyleIntf
anatofuz
parents:
diff changeset
89 {
anatofuz
parents:
diff changeset
90 int _myStyle;
anatofuz
parents:
diff changeset
91 }
anatofuz
parents:
diff changeset
92
anatofuz
parents:
diff changeset
93 @property(readonly) int myStyle;
anatofuz
parents:
diff changeset
94
anatofuz
parents:
diff changeset
95 - (float)setMyStyle:(int)style;
anatofuz
parents:
diff changeset
96 @end
anatofuz
parents:
diff changeset
97
anatofuz
parents:
diff changeset
98 // rdar://8774513
anatofuz
parents:
diff changeset
99 @class MDAInstance; // expected-note {{forward declaration of class here}}
anatofuz
parents:
diff changeset
100
anatofuz
parents:
diff changeset
101 @interface MDATestDocument
anatofuz
parents:
diff changeset
102 @property(retain) MDAInstance *instance;
anatofuz
parents:
diff changeset
103 @end
anatofuz
parents:
diff changeset
104
anatofuz
parents:
diff changeset
105 id f0(MDATestDocument *d) {
anatofuz
parents:
diff changeset
106 return d.instance.path; // expected-error {{property 'path' cannot be found in forward class object 'MDAInstance'}}
anatofuz
parents:
diff changeset
107 }
anatofuz
parents:
diff changeset
108
anatofuz
parents:
diff changeset
109 // rdar://20469452
anatofuz
parents:
diff changeset
110 @interface UIView @end
anatofuz
parents:
diff changeset
111
anatofuz
parents:
diff changeset
112 @interface FRFakeBannerView : UIView
anatofuz
parents:
diff changeset
113 @end
anatofuz
parents:
diff changeset
114
anatofuz
parents:
diff changeset
115 @interface FRAdCollectionViewCell
anatofuz
parents:
diff changeset
116 @property (nonatomic, weak, readonly) UIView *bannerView;
anatofuz
parents:
diff changeset
117 @end
anatofuz
parents:
diff changeset
118
anatofuz
parents:
diff changeset
119 @interface FRAdCollectionViewCell ()
anatofuz
parents:
diff changeset
120
anatofuz
parents:
diff changeset
121 @property (nonatomic, weak, readwrite) FRFakeBannerView *bannerView;
anatofuz
parents:
diff changeset
122
anatofuz
parents:
diff changeset
123 @end