Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OT Bytecode Attributes/BoundClassesHierarchy
Contents
Attribute BoundClassesHierarchy
Intent
The BoundClassesHierarchy stores inheritance information regarding roles and bound bases for a given team.
Location:
A team class containing bound roles.
Content:
A list of pairs of sub type names and super type names. For each pair in this least either
- both types are roles of the given team, or
- both types are base classes bound by some role of the given team.
In each pair the first element (sub type) is a (indirect) sub type of the second element (super type)
Purpose:
The OTRE uses this attribute for lookup of sub-type relations without needing to ask the Repository. The binding information (sub -> super) is stored and used for various transformations.
Format:
BoundClassesHierarchy { u2 attribute_name_index; u4 attribute_length; u2 subtype_count; SubtypeInfo [subtype_count]; } SubtypeInfo { u2 subtype_name_index; u2 supertype_name_index; }
The items of the BoundClassesHierarchy structure are as follows:
- attribute_name_index
- The constant_pool entry at that index must be a CONSTANT_Utf8_info representing the string "BoundClassesHierarchy".
- attribute_length
- The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.
- subtype_count
- The number of SubtypeInfo records
The items of the SubtypeInfo structure are as follows:
- subtype_name_index
- The constant_pool index of the string-encoded name of a sub type in a subtype relationship
- supertype_name_index
- The constant_pool index of the string-encoded name of a super type in a subtype relationship