158513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham#import <Foundation/Foundation.h>
258513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham
358513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@interface BaseClass : NSObject
458513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham{
558513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham  int _backed_int;
658513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham#if !__OBJC2__
758513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham  int _unbacked_int;
858513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham#endif
958513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham}
1058513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@property int backed_int;
1158513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@property int unbacked_int;
1258513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@end
1358513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham
1458513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@interface DerivedClass : BaseClass
1558513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham{
1658513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham  int _derived_backed_int;
1758513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham#if !__OBJC2__
18a796e0e2742be4e89edb5e338666c1eb3b76a6b5Jim Ingham  int _derived_unbacked_int;
1958513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham#endif
20514970a1bafdd36ce128a70ec8839b74b3aa77baJim Ingham  @public
21514970a1bafdd36ce128a70ec8839b74b3aa77baJim Ingham  uint32_t flag1 : 1;
22514970a1bafdd36ce128a70ec8839b74b3aa77baJim Ingham  uint32_t flag2 : 3;
2358513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham}
24514970a1bafdd36ce128a70ec8839b74b3aa77baJim Ingham
2558513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@property int derived_backed_int;
2658513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@property int derived_unbacked_int;
2758513667f6765aa8db13cdc4abd500340c1cac80Jim Ingham@end
28