Skip to main content
Jump to: navigation, search

Difference between revisions of "OT Bytecode Attributes/OTClassFlags"

(New page: =Attribute OTClassFlags= ===Intent=== ===Location:=== A team class or a role type. ===Content:=== An integer encoding the OT specific class flags (see Format). ===Purpose:=== ===For...)
 
(Attribute OTClassFlags)
Line 2: Line 2:
  
 
===Intent===
 
===Intent===
 
+
The OTClassFlags attribute is used to store various properties of OT classes.
  
 
===Location:===
 
===Location:===
Line 14: Line 14:
  
 
===Format:===
 
===Format:===
<pre>  </pre>
+
<pre>  CallinFlags {
 +
    u2 attribute_name_index;
 +
    u4 attribute_length;
 +
    u2 class_flags;
 +
    }</pre>
  
 
The items of the OTClassFlags structure are as follows:  
 
The items of the OTClassFlags structure are as follows:  
Line 21: Line 25:
 
*attribute_length
 
*attribute_length
 
:The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.  
 
:The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.  
*Y
+
*class_flags
 +
:The value of the class_flags item is a mask of flags. The interpretation of each flag, when set, is as shown in the following:
  
  
Line 27: Line 32:
 
{| cellpadding="5" border="1"
 
{| cellpadding="5" border="1"
 
|-
 
|-
! Flag Name                                         !! Value                               !! Interpretation
+
! Flag Name                 !! Value           !! Interpretation
 
|-
 
|-
| OT_CLASS_TEAM     || <tt>1</tt>         ||  TODO
+
| OT_CLASS_TEAM             || <tt>1</tt>     ||  this class is a team
 
|-
 
|-
| OT_CLASS_ROLE     || <tt>2</tt>         ||  TODO
+
| OT_CLASS_ROLE             || <tt>2</tt>     ||  this class is a role
 
|-
 
|-
| OT_CLASS_ROLE_LOCAL     || <tt>4</tt>   ||  TODO
+
| OT_CLASS_ROLE_LOCAL       || <tt>4</tt>     ||  TODO
 
|-
 
|-
| OT_CLASS_PURELY_COPIED    || <tt>8</tt>         ||  no source present for this class
+
| OT_CLASS_PURELY_COPIED    || <tt>8</tt>     ||  no source present for this class
 
|-
 
|-
| OT_CLASS_ROLE_FILE     || <tt>16</tt>         ||  TODO
+
| OT_CLASS_ROLE_FILE         || <tt>16</tt>     ||  TODO
 
|-
 
|-
| OT_CLASS_FLAG_HAS_TSUPER     || <tt>32</tt>         ||  TODO
+
| OT_CLASS_FLAG_HAS_TSUPER   || <tt>32</tt>     ||  TODO
 
|-
 
|-
| OT_CLASS_CONFINED     || <tt>64</tt>         ||  superclass Object should be updated to __OT__Confined on loading
+
| OT_CLASS_CONFINED         || <tt>64</tt>     ||  superclass Object should be updated to __OT__Confined on loading
 
|}
 
|}
  
 
[[Category:Object Teams Development]]
 
[[Category:Object Teams Development]]

Revision as of 07:48, 26 April 2010

Attribute OTClassFlags

Intent

The OTClassFlags attribute is used to store various properties of OT classes.

Location:

A team class or a role type.

Content:

An integer encoding the OT specific class flags (see Format).

Purpose:

Format:

   CallinFlags {
     u2 attribute_name_index;
     u4 attribute_length;
     u2 class_flags;
    }

The items of the OTClassFlags structure are as follows:

  • attribute_name_index
The constant_pool entry at that index must be a CONSTANT_Utf8_info representing the string "CallinRoleBaseBindings".
  • attribute_length
The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.
  • class_flags
The value of the class_flags item is a mask of flags. The interpretation of each flag, when set, is as shown in the following:


Flag Name Value Interpretation
OT_CLASS_TEAM 1 this class is a team
OT_CLASS_ROLE 2 this class is a role
OT_CLASS_ROLE_LOCAL 4 TODO
OT_CLASS_PURELY_COPIED 8 no source present for this class
OT_CLASS_ROLE_FILE 16 TODO
OT_CLASS_FLAG_HAS_TSUPER 32 TODO
OT_CLASS_CONFINED 64 superclass Object should be updated to __OT__Confined on loading

Back to the top