Optional class traits. More...
Public Types | |
enum | eKind { Trait_Slot = 0 , Trait_Method = 1 , Trait_Getter = 2 , Trait_Setter = 3 , Trait_Class = 4 , Trait_Function = 5 , Trait_Const = 6 , Trait_Invalid = 255 } |
enum | eAttribute { ATTR_Final = 0x1 , ATTR_Override = 0x2 , ATTR_Metadata = 0x4 } |
Public Member Functions | |
TraitsInfo () | |
Standard constructor. | |
virtual | ~TraitsInfo () |
Standard destructor. | |
void | Read (Stream *pStream, ABC_Definition *pABCDefinition) |
Read in the data from the file stream. | |
Public Member Functions inherited from Burger::WeakAndStrongBase | |
ProxyReferenceCounter * | GetProxyReferenceCounter (void) const noexcept |
Function used by WeakPointer. | |
const Burger::StaticRTTI * | get_StaticRTTI (void) const noexcept override |
Get the description to the class. | |
Public Member Functions inherited from Burger::ReferenceCounter | |
ReferenceCounter () noexcept | |
Sets the reference count to zero. | |
virtual | ~ReferenceCounter () |
Destructor. | |
void | AddRef (void) noexcept |
Increase the reference count by 1. | |
void | Release (void) noexcept |
Decrease the reference count by 1. | |
Public Member Functions inherited from Burger::Base | |
const char * | get_class_name (void) const noexcept |
Get the name of the class. | |
virtual | ~Base () noexcept=default |
Destructor. | |
Public Attributes | ||
int | m_uName | |
Index to the multiname constant pool. | ||
eKind | m_eKind | |
Specific kind of data contained in this class. | ||
uint_t | m_eAttribute | |
Attributes for how to handle overrides. | ||
union { | ||
struct { | ||
uint_t m_uSlotID | ||
Position identification for this trait. More... | ||
uint_t m_uTypeName | ||
Index into the multiname array for this item's name. More... | ||
uint_t m_uVIndex | ||
Index into the constant pool for this data. More... | ||
Flash::OptionDetail_t::eKind m_eKind | ||
Kind of data in the constant pool. More... | ||
} trait_slot | ||
Used by eKind Trait_Slot and Trait_Const. More... | ||
struct { | ||
uint_t m_uSlotID | ||
Position identification for this trait. More... | ||
uint_t m_uClassIndex | ||
Index into the class array. More... | ||
} trait_class | ||
Used by eKind Trait_Class. More... | ||
struct { | ||
uint_t m_uSlotID | ||
Position identification for this trait. More... | ||
uint_t m_uFunction | ||
Index into the function array. More... | ||
} trait_function | ||
Used by eKind Trait_Function. More... | ||
struct { | ||
uint_t m_uDispatchID | ||
Index into the dispatcher array. More... | ||
uint_t m_uMethodIndex | ||
Index into the method array. More... | ||
} trait_method | ||
Used by eKind Trait_Method, Trait_Getter or Trait_Setter. More... | ||
}; | ||
SimpleArray< uint_t > | m_uMetadataArray | |
Array of indexes into the metadata array. | ||
Private Member Functions | |
TraitsInfo (const TraitsInfo &)=delete | |
TraitsInfo & | operator= (const TraitsInfo &)=delete |
TraitsInfo (TraitsInfo &&)=delete | |
TraitsInfo & | operator= (TraitsInfo &&)=delete |
Additional Inherited Members | |
Static Public Attributes inherited from Burger::WeakAndStrongBase | |
static const Burger::StaticRTTI | g_StaticRTTI |
The global description of the class. | |
Static Public Attributes inherited from Burger::ReferenceCounter | |
static const Burger::StaticRTTI | g_StaticRTTI |
The global description of the class. | |
Static Public Attributes inherited from Burger::Base | |
static const Burger::StaticRTTI | g_StaticRTTI |
The global description of the class. | |
Optional class traits.
A trait is a fixed property of an object or class; it has a name, a type, and some associated data. The TraitsInfo structure bundles these data.
Full documentation is found on page 29 of the file avm2overview.pdf
Burger::Flash::TraitsInfo::TraitsInfo | ( | ) |
|
virtual |
|
privatedelete |
|
privatedelete |
|
privatedelete |
|
privatedelete |
void Burger::Flash::TraitsInfo::Read | ( | Stream * | pStream, |
ABC_Definition * | pABCDefinition ) |
Read in the data from the file stream.
Parse this record from the input stream
pStream | Pointer to the input stream |
pABCDefinition | Pointer to the parent Adobe Byte Code |
union { ... } Burger::Flash::TraitsInfo |
uint_t Burger::Flash::TraitsInfo::m_eAttribute |
Attributes for how to handle overrides.
eKind Burger::Flash::TraitsInfo::m_eKind |
Specific kind of data contained in this class.
Flash::OptionDetail_t::eKind Burger::Flash::TraitsInfo::m_eKind |
Kind of data in the constant pool.
uint_t Burger::Flash::TraitsInfo::m_uClassIndex |
Index into the class array.
uint_t Burger::Flash::TraitsInfo::m_uDispatchID |
Index into the dispatcher array.
uint_t Burger::Flash::TraitsInfo::m_uFunction |
Index into the function array.
SimpleArray<uint_t> Burger::Flash::TraitsInfo::m_uMetadataArray |
Array of indexes into the metadata array.
uint_t Burger::Flash::TraitsInfo::m_uMethodIndex |
Index into the method array.
int Burger::Flash::TraitsInfo::m_uName |
Index to the multiname constant pool.
uint_t Burger::Flash::TraitsInfo::m_uSlotID |
Position identification for this trait.
uint_t Burger::Flash::TraitsInfo::m_uTypeName |
Index into the multiname array for this item's name.
uint_t Burger::Flash::TraitsInfo::m_uVIndex |
Index into the constant pool for this data.
struct { ... } Burger::Flash::TraitsInfo::trait_class |
Used by eKind Trait_Class.
struct { ... } Burger::Flash::TraitsInfo::trait_function |
Used by eKind Trait_Function.
struct { ... } Burger::Flash::TraitsInfo::trait_method |
Used by eKind Trait_Method, Trait_Getter or Trait_Setter.
struct { ... } Burger::Flash::TraitsInfo::trait_slot |
Used by eKind Trait_Slot and Trait_Const.