000323.2 | B | A | F. Burton | Java | Java Interface definition |
Add "interface" type to support the Java language.
=== PROPOSED MODIFICATIONS
Add to Figure 1:
DW_TAG_interface_type Java
Change first sentence of 5.5.1 to:
Structure, union, class, and interface types are
represented by debugging information entries with
the tags DW_TAG_structure_type, DW_TAG_union_type,
DW_TAG_class_type and DW_TAG_interface_type,
respectively.
Add to Figure 15:
DW_TAG_interface_type <next-available-value>
Add to Appendix 1:
DW_TAG_interface_type DECL
DW_AT_abstract_origin
DW_AT_accessibility
DW_AT_byte_size
DW_AT_declaration
DW_AT_name
DW_AT_sibling
DW_AT_start_scope
Approved. Interface is semantically equivalent to class or struct. A Java
interface is
equivalent to an abstract class in C++. Discussion about whether to create new tag
or
to use struct resulted in decision to create new TAG rather than reuse
DW_TAG_struct.
Struct, class and union are separate TAGs, even if the semantic differences between struct
and class are minimal. Only the following attributes are expected: DECL (standard
source
location), DW_AT_accessibility, DW_AT_name, DW_AT_sibling, and DW_AT_start_scope.