Gnash  0.8.11dev
Public Types | Public Member Functions | List of all members
gnash::abc::MultiName Class Reference

An MultiName represents a single ABC multiname. More...

#include <MultiName.h>

Public Types

enum  Kind {
  KIND_Qname = 0x07, KIND_QnameA = 0x0D, KIND_RTQname = 0x0F, KIND_RTQnameA = 0x10,
  KIND_RTQnameL = 0x11, KIND_RTQnameLA = 0x12, KIND_Multiname = 0x09, KIND_MultinameA = 0x0E,
  KIND_MultinameL = 0x1B, KIND_MultinameLA = 0x1C
}
 

Public Member Functions

 MultiName ()
 
void setFlags (Kind kind)
 
std::uint8_t flags () const
 
bool isRuntime ()
 If true, the name needs a run-time string value to complete it. More...
 
bool isRtns ()
 If true, the name needs a run-time namespace to complete it. More...
 
bool isQName ()
 
void setQName ()
 
void setNamespace (Namespace *ns)
 
NamespacegetNamespace () const
 
abc::URI getABCName () const
 
void setABCName (abc::URI n)
 
string_table::key getGlobalName () const
 
void setGlobalName (string_table::key n)
 
void setAttr ()
 
void fill (as_object *)
 
PropertyfindProperty ()
 
void namespaceSet (std::vector< Namespace *> *v)
 
const std::vector< Namespace * > * namespaceSet () const
 

Detailed Description

An MultiName represents a single ABC multiname.

All MultiNames are internal to a single AbcBlock. Most are created during parsing, though the Machine can also create them for the lifetime of a single script run (which corresponds to an AbcBlock). This means it is possible to store internal ABC URI of multiname here.

Member Enumeration Documentation

§ Kind

Enumerator
KIND_Qname 
KIND_QnameA 
KIND_RTQname 
KIND_RTQnameA 
KIND_RTQnameL 
KIND_RTQnameLA 
KIND_Multiname 
KIND_MultinameA 
KIND_MultinameL 
KIND_MultinameLA 

Constructor & Destructor Documentation

§ MultiName()

gnash::abc::MultiName::MultiName ( )
inline

Member Function Documentation

§ fill()

void gnash::abc::MultiName::fill ( as_object )
inline

§ findProperty()

Property* gnash::abc::MultiName::findProperty ( )

§ flags()

std::uint8_t gnash::abc::MultiName::flags ( ) const
inline

§ getABCName()

abc::URI gnash::abc::MultiName::getABCName ( ) const
inline

§ getGlobalName()

string_table::key gnash::abc::MultiName::getGlobalName ( ) const
inline

§ getNamespace()

Namespace* gnash::abc::MultiName::getNamespace ( ) const
inline

§ isQName()

bool gnash::abc::MultiName::isQName ( )
inline

§ isRtns()

bool gnash::abc::MultiName::isRtns ( )
inline

If true, the name needs a run-time namespace to complete it.

Referenced by gnash::abc::Machine::completeName().

§ isRuntime()

bool gnash::abc::MultiName::isRuntime ( )
inline

If true, the name needs a run-time string value to complete it.

Referenced by gnash::abc::Machine::completeName(), and gnash::abc::Machine::execute().

§ namespaceSet() [1/2]

void gnash::abc::MultiName::namespaceSet ( std::vector< Namespace *> *  v)
inline

References test::v.

Referenced by gnash::abc::AbcBlock::locateClass().

§ namespaceSet() [2/2]

const std::vector<Namespace*>* gnash::abc::MultiName::namespaceSet ( ) const
inline

§ setABCName()

void gnash::abc::MultiName::setABCName ( abc::URI  n)
inline

References gnash::key::n.

Referenced by gnash::abc::AbcBlock::prepare().

§ setAttr()

void gnash::abc::MultiName::setAttr ( )
inline

§ setFlags()

void gnash::abc::MultiName::setFlags ( Kind  kind)
inline

§ setGlobalName()

void gnash::abc::MultiName::setGlobalName ( string_table::key  n)
inline

§ setNamespace()

void gnash::abc::MultiName::setNamespace ( Namespace ns)
inline

§ setQName()

void gnash::abc::MultiName::setQName ( )
inline

The documentation for this class was generated from the following file: