1#import <Foundation/Foundation.h>
2#import "InternalDefiner.h"
3
4@interface Container : NSObject {
5@public
6 InternalDefiner *_definer;
7}
8
9-(id)init;
10@end
11
12@implementation Container
13
14-(id)init
15{
16 if (self = [super init])
17 {
18 _definer = [[InternalDefiner alloc] initWithFoo:4 andBar:5];
19 }
20 return self;
21}
22
23@end
24
25@interface InheritContainer : InternalDefiner
26@property (nonatomic, strong) NSMutableArray *filteredDataSource;
27-(id)init;
28@end
29
30@implementation InheritContainer
31
32-(id)init
33{
34 if (self = [super initWithFoo:2 andBar:3])
35 {
36 self.filteredDataSource = [NSMutableArray arrayWithObjects:@"hello", @"world", nil];
37 }
38 return self;
39}
40
41@end
42
43int main(int argc, const char * argv[])
44{
45 @autoreleasepool {
46 Container *j = [[Container alloc] init];
47 InheritContainer *k = [[InheritContainer alloc] init];
48
49 printf("ivar value = %u\n", (unsigned)j->_definer->foo); // breakpoint1
50 printf("ivar value = %u\n", (unsigned)k->foo);
51 }
52 return 0;
53}
54
55

source code of lldb/test/API/lang/objc/hidden-ivars/main.m