Gnash  0.8.10
Public Types | Public Member Functions
gnash::abc::MultiName Class Reference

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

#include <MultiName.h>

List of all members.

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)
boost::uint8_t flags () const
bool isRuntime ()
 If true, the name needs a run-time string value to complete it.
bool isRtns ()
 If true, the name needs a run-time namespace to complete it.
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

Enumerator:
KIND_Qname 
KIND_QnameA 
KIND_RTQname 
KIND_RTQnameA 
KIND_RTQnameL 
KIND_RTQnameLA 
KIND_Multiname 
KIND_MultinameA 
KIND_MultinameL 
KIND_MultinameLA 

Constructor & Destructor Documentation

gnash::abc::MultiName::MultiName ( ) [inline]

Member Function Documentation

void gnash::abc::MultiName::fill ( as_object ) [inline]
Property* gnash::abc::MultiName::findProperty ( )
boost::uint8_t gnash::abc::MultiName::flags ( ) const [inline]
abc::URI gnash::abc::MultiName::getABCName ( ) const [inline]
string_table::key gnash::abc::MultiName::getGlobalName ( ) const [inline]
Namespace* gnash::abc::MultiName::getNamespace ( ) const [inline]
bool gnash::abc::MultiName::isQName ( ) [inline]
bool gnash::abc::MultiName::isRtns ( ) [inline]

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

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

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

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

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

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

References test::v.

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

const std::vector<Namespace*>* gnash::abc::MultiName::namespaceSet ( ) const [inline]
void gnash::abc::MultiName::setABCName ( abc::URI  n) [inline]

References gnash::key::n.

void gnash::abc::MultiName::setAttr ( ) [inline]
void gnash::abc::MultiName::setFlags ( Kind  kind) [inline]
void gnash::abc::MultiName::setGlobalName ( string_table::key  n) [inline]
void gnash::abc::MultiName::setNamespace ( Namespace ns) [inline]
void gnash::abc::MultiName::setQName ( ) [inline]

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