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.