diff --git a/docs/ObjCPropertyDebugInfo.html b/docs/ObjCPropertyDebugInfo.html deleted file mode 100644 index c1482cf173ce..000000000000 --- a/docs/ObjCPropertyDebugInfo.html +++ /dev/null @@ -1,237 +0,0 @@ - - -
- -Objective C provides a simpler way to declare and define accessor methods -using declared properties. The language provides features to declare a -property and to let compiler synthesize accessor methods. -
- -The debugger lets developer inspect Objective C interfaces and their -instance variables and class variables. However, the debugger does not know -anything about the properties defined in Objective C interfaces. The debugger -consumes information generated by compiler in DWARF format. The format does -not support encoding of Objective C properties. This proposal describes DWARF -extensions to encode Objective C properties, which the debugger can use to let -developers inspect Objective C properties. -
- -Objective C properties are always backed by an instance variable. The -instance variables backing properties are identified using -DW_AT_APPLE_property_name attribute. The instance variables with this -attribute may not have data location attributes. The location of instance -variables is determined by debugger only after consulting Objective C runtime. -
- --@interface I1 { - int n2; -} - -@property p1; -@property p2; -@end - -@implementation I1 -@synthesize p1; -@synthesize p2 = n2; -@end - - -TAG_structure_type [7] * - AT_APPLE_runtime_class( 0x10 ) - AT_name( "I1" ) - AT_decl_file( "Objc_Property.m" ) - AT_decl_line( 3 ) - - TAG_member [8] - AT_name( "p1" ) - AT_APPLE_property_name(“p1”) - AT_type( {0x00000147} ( int ) ) - - TAG_member [8] - AT_name( "n2" ) - AT_APPLE_property_name(“p2”) - AT_type( {0x00000147} ( int ) ) --
Developers can decorate a property with attributes which are encoded using -DW_AT_APPLE_property_attribute. -
- --@property (readonly, nonatomic) int pr; - - -TAG_member [8] - AT_name(“pr”) - AT_APPLE_property_name(“pr”) - AT_type ( {0x00000147} (int) ) - AT_APPLE_property_attribute (DW_APPLE_PROPERTY_readonly, DW_APPLE_PROPERTY_nonatomic) --
The setter and getter method names are attached to the property using -DW_AT_APPLE_property_setter and DW_AT_APPLE_property_getter attributes. -
--@interface I1 -@property (setter=myOwnP3Setter:) int p3; --(void)myOwnP3Setter:(int)a; -@end - -@implementation I1 -@synthesize p3; --(void)myOwnP3Setter:(int)a{ } -@end - -0x000003bd: TAG_structure_type [7] * - AT_APPLE_runtime_class( 0x10 ) - AT_name( "I1" ) - AT_decl_file( "Objc_Property.m" ) - AT_decl_line( 3 ) -0x000003f3: TAG_member [8] - AT_name( "p3" ) - AT_APPLE_property_name(“p3”) - AT_APPLE_property_setter(“myOwnP3Setter:”) - AT_type( {0x00000147} ( int ) ) --
Attribute | -Value | -Classes | -
---|---|---|
DW_AT_APPLE_property_name | -0x3fe8 | -String | -
DW_AT_APPLE_property_getter | -0x3fe9 | -String | -
DW_AT_APPLE_property_setter | -0x3fea | -String | -
DW_AT_APPLE_property_attribute | -0x3feb | -Constant | -
Name | -Value | -
---|---|
DW_AT_APPLE_PROPERTY_readonly | -0x1 | -
DW_AT_APPLE_PROPERTY_readwrite | -0x2 | -
DW_AT_APPLE_PROPERTY_assign | -0x4 | -
DW_AT_APPLE_PROPERTY_retain | -0x8 | -
DW_AT_APPLE_PROPERTY_copy | -0x10 | -
DW_AT_APPLE_PROPERTY_nonatomic | -0x20 | -
Objective C provides a simpler way to declare and define accessor methods +using declared properties. The language provides features to declare a +property and to let compiler synthesize accessor methods. +
+ +The debugger lets developer inspect Objective C interfaces and their +instance variables and class variables. However, the debugger does not know +anything about the properties defined in Objective C interfaces. The debugger +consumes information generated by compiler in DWARF format. The format does +not support encoding of Objective C properties. This proposal describes DWARF +extensions to encode Objective C properties, which the debugger can use to let +developers inspect Objective C properties. +
+ +Objective C properties are always backed by an instance variable. The +instance variables backing properties are identified using +DW_AT_APPLE_property_name attribute. The instance variables with this +attribute may not have data location attributes. The location of instance +variables is determined by debugger only after consulting Objective C runtime. +
+ ++@interface I1 { + int n2; +} + +@property p1; +@property p2; +@end + +@implementation I1 +@synthesize p1; +@synthesize p2 = n2; +@end + + +TAG_structure_type [7] * + AT_APPLE_runtime_class( 0x10 ) + AT_name( "I1" ) + AT_decl_file( "Objc_Property.m" ) + AT_decl_line( 3 ) + + TAG_member [8] + AT_name( "p1" ) + AT_APPLE_property_name(“p1”) + AT_type( {0x00000147} ( int ) ) + + TAG_member [8] + AT_name( "n2" ) + AT_APPLE_property_name(“p2”) + AT_type( {0x00000147} ( int ) ) ++
Developers can decorate a property with attributes which are encoded using +DW_AT_APPLE_property_attribute. +
+ ++@property (readonly, nonatomic) int pr; + + +TAG_member [8] + AT_name(“pr”) + AT_APPLE_property_name(“pr”) + AT_type ( {0x00000147} (int) ) + AT_APPLE_property_attribute (DW_APPLE_PROPERTY_readonly, DW_APPLE_PROPERTY_nonatomic) ++
The setter and getter method names are attached to the property using +DW_AT_APPLE_property_setter and DW_AT_APPLE_property_getter attributes. +
++@interface I1 +@property (setter=myOwnP3Setter:) int p3; +-(void)myOwnP3Setter:(int)a; +@end + +@implementation I1 +@synthesize p3; +-(void)myOwnP3Setter:(int)a{ } +@end + +0x000003bd: TAG_structure_type [7] * + AT_APPLE_runtime_class( 0x10 ) + AT_name( "I1" ) + AT_decl_file( "Objc_Property.m" ) + AT_decl_line( 3 ) +0x000003f3: TAG_member [8] + AT_name( "p3" ) + AT_APPLE_property_name(“p3”) + AT_APPLE_property_setter(“myOwnP3Setter:”) + AT_type( {0x00000147} ( int ) ) ++
Attribute | +Value | +Classes | +
---|---|---|
DW_AT_APPLE_property_name | +0x3fe8 | +String | +
DW_AT_APPLE_property_getter | +0x3fe9 | +String | +
DW_AT_APPLE_property_setter | +0x3fea | +String | +
DW_AT_APPLE_property_attribute | +0x3feb | +Constant | +
Name | +Value | +
---|---|
DW_AT_APPLE_PROPERTY_readonly | +0x1 | +
DW_AT_APPLE_PROPERTY_readwrite | +0x2 | +
DW_AT_APPLE_PROPERTY_assign | +0x4 | +
DW_AT_APPLE_PROPERTY_retain | +0x8 | +
DW_AT_APPLE_PROPERTY_copy | +0x10 | +
DW_AT_APPLE_PROPERTY_nonatomic | +0x20 | +