https://wiki.eclipse.org/index.php?title=OT_Bytecode_Attributes/CallinPrecedence&feed=atom&action=historyOT Bytecode Attributes/CallinPrecedence - Revision history2024-03-28T21:12:46ZRevision history for this page on the wikiMediaWiki 1.26.4https://wiki.eclipse.org/index.php?title=OT_Bytecode_Attributes/CallinPrecedence&diff=210281&oldid=prevStephan.cs.tu-berlin.de: New page: =Attribute CallinPrecedence= ==Intent== Represent '''precedence''' declarations {{otjld|4|.8}} in the byte code. ==Location== A team class containing one or more precedence declarations,...2010-07-04T12:10:05Z<p>New page: =Attribute CallinPrecedence= ==Intent== Represent '''precedence''' declarations {{otjld|4|.8}} in the byte code. ==Location== A team class containing one or more precedence declarations,...</p>
<p><b>New page</b></p><div>=Attribute CallinPrecedence=<br />
<br />
==Intent==<br />
Represent '''precedence''' declarations {{otjld|4|.8}} in the byte code.<br />
<br />
==Location==<br />
A team class containing one or more precedence declarations, either directly in the<br />
team or nested within a role.<br />
<br />
==Content==<br />
A list of callin names ({{otjld|4|.1.e}}). Each callin name is qualified with the relative<br />
name of the declaring role type as seen from the current team class.<br />
All precedence declarations (indirectly) contained within a team including inherited declarations<br />
are merged into a single CallinPrecedence attribute.<br />
<br />
==Purpose==<br />
The OTRE uses this attribute in order to sort the calls to multiple callin wrappers<br />
within a given base method chaining wrapper. Note, that for '''after''' callins the<br />
list is traversed back-to-front (see '''precedence after''' in {{otjld|4|.8.a}}).<br />
<br />
==Format==<br />
<pre> CallinPrecedence {<br />
u2 attribute_name_index;<br />
u4 attribute_length;<br />
u2 callins_count;<br />
u2 callin_name_indices[callins_count];<br />
}</pre><br />
<br />
The items of the CallinPrecedence structure are as follows: <br />
*attribute_name_index<br />
:The constant_pool entry at that index must be a CONSTANT_Utf8_info representing the string "CallinPrecedence".<br />
<br />
*attribute_length<br />
:The value of the attribute_length item indicates the length of the attribute, excluding the initial six bytes.<br />
<br />
*callins_count<br />
:The number of callin names in the array<br />
<br />
*callin_name_indices[]<br />
::Each element in the array is a constant_pool entry of type CONSTANT_Utf8_info representing a callin binding by its qualified name as described above.<br />
<br />
[[Category:Object Teams Development]]</div>Stephan.cs.tu-berlin.de