This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:crosscompiler:fields_of_item [2015/03/29 08:59] – ursgraf | dev:crosscompiler:fields_of_item [2015/03/29 09:18] – ursgraf | ||
---|---|---|---|
Line 2: | Line 2: | ||
These fields have different meanings according to what a given item represents. | These fields have different meanings according to what a given item represents. | ||
- | **Note** Statements in brackets denote a type, e.g. [Class] means an item of type '' | + | **Note**: Statements in brackets denote a type, e.g. [Class] means an item of type '' |
==== Classes [Class] ==== | ==== Classes [Class] ==== | ||
Line 11: | Line 11: | ||
==== Arrays [Array] ==== | ==== Arrays [Array] ==== | ||
* //index//: Not used, always -1. | * //index//: Not used, always -1. | ||
- | * //offset//: Offset | + | * //offset//: Offset |
- | * // | + | * // |
==== Methoden [Method] ==== | ==== Methoden [Method] ==== | ||
- | * // | + | * // |
- | * // | + | * // |
- | * // | + | * // |
- | ==== Felder | + | ==== Fields |
- | <box right 30% | IMPORTANT | + | <box right 30% | IMPORTANT |
- | **Achtung:** bei konstanten, statischen Referenzen ist das Const-Flag (dpfConst) __nicht__ gesetzt, da diese wie normale, nicht konstante statische Felder zu behandeln sind. Dies weil auf solche Felder ein einmaliger Zugriff aus dem Klassenkonstruktor stattfindet! | + | **Important:** With constant and static references the const flag //dpfConst// will not be set. Such fields must be handled like regular non constant fields because the class constructor will access such a field exactly once. |
- | + | **Example:** | |
- | **Beispiel:** | + | |
static final Object o = new Object(); | static final Object o = new Object(); | ||
</ | </ | ||
- | - **Klassen-Felder | + | - **Class fields |
- | - Konstante Felder | + | - Constant fields |
* //index//: Not used, always -1. | * //index//: Not used, always -1. | ||
* //offset//: not used, always -1. | * //offset//: not used, always -1. | ||
* // | * // | ||
- | - Nicht konstante Felder | + | - Non-constant fields |
* //index//: not used, always -1. | * //index//: not used, always -1. | ||
- | * // | + | * // |
- | * // | + | * // |
- **Instanz-Felder [DataItem]: | - **Instanz-Felder [DataItem]: | ||
- | * // | + | * // |
- | * // | + | * // |
* // | * // | ||
- | ==== Konstanten | + | ==== Constants |
- | - **Zahlen | + | - **Numbers |
- | * // | + | * // |
* //offset//: Wenn die Konstante vom Typ //float// oder //double// ist, ist //offset// der Byteoffset der Konstante im Konstantenpool. Ansonsten immer -1; | * //offset//: Wenn die Konstante vom Typ //float// oder //double// ist, ist //offset// der Byteoffset der Konstante im Konstantenpool. Ansonsten immer -1; | ||
* // | * // | ||
- | - **Stings | + | - **Strings |
* //index//: Wenn es sich bei der Konstante um einen String handelt, so wird in //index// der Index des Strings im Stringpool abgelegt. | * //index//: Wenn es sich bei der Konstante um einen String handelt, so wird in //index// der Index des Strings im Stringpool abgelegt. | ||
* //offset//: Wenn es sich bei der Konstante um einen String handelt, so wird in //offset// der Byteoffset des Strings im Stringpool abgelegt. | * //offset//: Wenn es sich bei der Konstante um einen String handelt, so wird in //offset// der Byteoffset des Strings im Stringpool abgelegt. | ||
* // | * // |