Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

OT Bytecode Attributes/PlayedBy

< OT Bytecode Attributes
Revision as of 06:49, 3 July 2010 by Stephan.cs.tu-berlin.de (Talk | contribs) (Purpose:)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Attribute PlayedBy

Intent

This attribute stores the base class a role class is bound to.

The PlayedBy attribute is a fixed-length attribute used in the attributes table of the ClassFile structure.

Location:

A role class which, or which super role class, is bound to a base class.

Content:

The name of the bound base class.

Purpose:

The OTRE records the baseclass name from this attribute in order to associate it with OT Bytecode Attributes/CallinMethodMappings being read after this attribute.

Also for each class with a PlayedBy attribute the superclass relationship is recorded, which is important for inheritance of method bindings.

Format:

    PlayedBy {
     u2 attribute_name_index;
     u4 attribute_length;
     u2 base_class_name_index;
    }

The items of the PlayedBy structure are as follows:

  • attribute_name_index
The constant_pool entry at that index must be a CONSTANT_Utf8_info representing the string "PlayedBy".
  • attribute_length
The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.
  • base_class_name_index
The constant_pool index representing the fully qualified name of the base class, as given in the source code from which this class file was compiled.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.