Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::Flash::InstanceInfo Class Reference

Data to represent instance_info. More...

Inheritance diagram for Burger::Flash::InstanceInfo:
Collaboration diagram for Burger::Flash::InstanceInfo:

Public Types

enum  eFlags { CONSTANT_ClassSealed = 0x01 , CONSTANT_ClassFinal = 0x02 , CONSTANT_ClassInterface = 0x04 , CONSTANT_ClassProtectedNs = 0x08 }
 

Public Member Functions

 InstanceInfo ()
 Standard constructor.
 
virtual ~InstanceInfo ()
 Standard destructor.
 
void Read (Stream *pStream, ABC_Definition *pABCDefinition)
 Read from an input stream.
 
- Public Member Functions inherited from Burger::WeakAndStrongBase
ProxyReferenceCounterGetProxyReferenceCounter (void) const noexcept
 Function used by WeakPointer.
 
const Burger::StaticRTTIget_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

WeakPointer< ABC_Definition > m_pParentABCDefinition
 Parent Adobe Byte Code.
 
SimpleArray< uint_tm_uInterfaceArray
 Array of interface indexes.
 
ClassArray< SmartPointer< TraitsInfo > > m_pTraitArray
 Array of instance traits.
 
uint_t m_uName
 Name of this instance.
 
uint_t m_uSuperName
 Name of the parent class this derives from.
 
uint_t m_uFlags
 See eFlags.
 
uint_t m_uProtectedNamespace
 If protected, this contains the index to the protected namespace.
 
uint_t m_uInitializationIndex
 Index to the initialization function.
 

Private Member Functions

 InstanceInfo (const InstanceInfo &)=delete
 
InstanceInfooperator= (const InstanceInfo &)=delete
 
 InstanceInfo (InstanceInfo &&)=delete
 
InstanceInfooperator= (InstanceInfo &&)=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.
 

Detailed Description

Data to represent instance_info.


The InstanceInfo entry is used to define interfaces and traits for a class instance

Full documentation is found on page 28 of the file avm2overview.pdf

Member Enumeration Documentation

◆ eFlags

Enumerator
CONSTANT_ClassSealed 

The class is sealed: properties can not be dynamically added to instances of the class.

CONSTANT_ClassFinal 

The class is final: it cannot be a base class for any other class.

CONSTANT_ClassInterface 

The class is an interface.

CONSTANT_ClassProtectedNs 

The class uses its protected namespace and the m_uProtectedNamespace field is present in the InstanceInfo class.

Constructor & Destructor Documentation

◆ InstanceInfo() [1/3]

Burger::Flash::InstanceInfo::InstanceInfo ( )

Standard constructor.


Initialize the WeakPointer data

◆ ~InstanceInfo()

Burger::Flash::InstanceInfo::~InstanceInfo ( )
virtual

Standard destructor.


Signal all WeakPointer references and release all memory

◆ InstanceInfo() [2/3]

Burger::Flash::InstanceInfo::InstanceInfo ( const InstanceInfo & )
privatedelete

◆ InstanceInfo() [3/3]

Burger::Flash::InstanceInfo::InstanceInfo ( InstanceInfo && )
privatedelete

Member Function Documentation

◆ operator=() [1/2]

InstanceInfo & Burger::Flash::InstanceInfo::operator= ( const InstanceInfo & )
privatedelete

◆ operator=() [2/2]

InstanceInfo & Burger::Flash::InstanceInfo::operator= ( InstanceInfo && )
privatedelete

◆ Read()

void Burger::Flash::InstanceInfo::Read ( Stream * pStream,
ABC_Definition * pABCDefinition )

Read from an input stream.


Parse the data from the stream to fill in the structure.

Parameters
pStreamPointer to the input stream
pABCDefinitionPointer to the connected ABC_Definition

Member Data Documentation

◆ m_pParentABCDefinition

WeakPointer<ABC_Definition> Burger::Flash::InstanceInfo::m_pParentABCDefinition

Parent Adobe Byte Code.

◆ m_pTraitArray

ClassArray<SmartPointer<TraitsInfo> > Burger::Flash::InstanceInfo::m_pTraitArray

Array of instance traits.

◆ m_uFlags

uint_t Burger::Flash::InstanceInfo::m_uFlags

See eFlags.

◆ m_uInitializationIndex

uint_t Burger::Flash::InstanceInfo::m_uInitializationIndex

Index to the initialization function.

◆ m_uInterfaceArray

SimpleArray<uint_t> Burger::Flash::InstanceInfo::m_uInterfaceArray

Array of interface indexes.

◆ m_uName

uint_t Burger::Flash::InstanceInfo::m_uName

Name of this instance.

◆ m_uProtectedNamespace

uint_t Burger::Flash::InstanceInfo::m_uProtectedNamespace

If protected, this contains the index to the protected namespace.

◆ m_uSuperName

uint_t Burger::Flash::InstanceInfo::m_uSuperName

Name of the parent class this derives from.