]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - packages/Python/lldbsuite/test/expression_command/persist_objc_pointeetype/main.m
Vendor import of lldb trunk r256945:
[FreeBSD/FreeBSD.git] / packages / Python / lldbsuite / test / expression_command / persist_objc_pointeetype / main.m
1 /*
2 clang -g ExtendSuperclass.m -o ExtendSuperclass -framework Foundation -framework ProtectedCloudStorage -F/System/Library/PrivateFrameworks/ -framework CloudKit && ./ExtendSuperclass
3 */
4 #include <assert.h>
5 #import <Foundation/Foundation.h>
6 #import <CloudKit/CloudKit.h>
7
8 #define SuperClass CKDatabase
9
10 @interface SubClass : SuperClass
11 @end
12
13 // class extension
14 @interface SuperClass ()
15 @property (nonatomic, strong)     NSString             *_sc_name;
16 @property (nonatomic, strong)     NSString             *_sc_name2;
17 @property (nonatomic, strong)     NSString             *_sc_name3;
18 @property (nonatomic, strong)     NSString             *_sc_name4;
19 @property (nonatomic, strong)     NSString             *_sc_name5;
20 @property (nonatomic, strong)     NSString             *_sc_name6;
21 @property (nonatomic, strong)     NSString             *_sc_name7;
22 @property (nonatomic, strong)     NSString             *_sc_name8;
23 @end
24
25 @implementation SuperClass (MySuperClass)
26 - (id)initThatDoesNotAssert
27 {
28     return [super init];
29 }
30 @end
31
32 @implementation SubClass
33 - (id)initThatDoesNotAssert
34 {
35     assert(_sc_name == nil);
36     assert(_sc_name2 == nil);
37     assert(_sc_name3 == nil);
38     assert(_sc_name4 == nil);
39     assert(_sc_name5 == nil);
40     assert(_sc_name6 == nil);
41     assert(_sc_name7 == nil);
42     assert(_sc_name8 == nil); // break here
43
44     if ((self = [super _initWithContainer:(CKContainer*)@"foo" scope:0xff])) {
45         assert(_sc_name == nil);
46         assert(_sc_name2 == nil);
47         assert(_sc_name3 == nil);
48         assert(_sc_name4 == nil);
49         assert(_sc_name5 == nil);
50         assert(_sc_name6 == nil);
51         assert(_sc_name7 == nil);
52         assert(_sc_name8 == nil);
53
54         _sc_name = @"empty";
55     }
56     return self;
57 }
58 @synthesize _sc_name;
59 @synthesize _sc_name2;
60 @synthesize _sc_name3;
61 @synthesize _sc_name4;
62 @synthesize _sc_name5;
63 @synthesize _sc_name6;
64 @synthesize _sc_name7;
65 @synthesize _sc_name8;
66 - (void)foo:(NSString*)bar { self._sc_name = bar; }
67 - (NSString*)description { return [NSString stringWithFormat:@"%p: %@", self, self._sc_name]; }
68 @end
69
70 int main()
71 {
72     SubClass *sc = [[SubClass alloc] initThatDoesNotAssert];
73     NSLog(@"%@", sc);
74     [sc foo:@"bar"];
75     NSLog(@"%@", sc);
76     sc._sc_name = @"bar2";
77     NSLog(@"%@", sc);
78     NSLog(@"%@", sc._sc_name);
79     return 0;
80 }