19 #ifndef GNASH_ABC_CLASS_H 20 #define GNASH_ABC_CLASS_H 91 _staticConstructor(0),
115 bool isconst,
bool isstatic);
118 std::uint32_t slotID,
Class *type,
bool isstatic);
130 std::uint32_t slotID,
Class *type,
bool isstatic);
134 std::uint32_t slotID,
Method *method,
bool isstatic);
217 return _staticConstructor;
221 _staticTraits.push_back(t);
225 _instanceTraits.push_back(t);
230 BindingContainer::iterator
i;
231 if (_bindings.empty())
return NULL;
232 i = _bindings.find(name);
233 if (i == _bindings.end())
249 _prototype = prototype;
253 void initPrototype();
261 _bindings.insert(std::make_pair(name, b));
266 _staticBindings.insert(std::make_pair(name, b));
272 if (_staticBindings.empty())
return 0;
273 BindingContainer::iterator
i = _staticBindings.find(name);
274 if (i == _staticBindings.end())
return 0;
280 std::vector<Trait> _instanceTraits;
283 std::vector<Trait> _staticTraits;
286 typedef std::map<string_table::key, Property> BindingContainer;
294 std::list<Class*> _interfaces;
298 Method* _staticConstructor;
300 BindingContainer _bindings;
301 BindingContainer _staticBindings;
void unsetDynamic()
Set the class as not dynamic.
Definition: Class.h:170
void unsetInterface()
Set the class as not an interface.
Definition: Class.h:161
void unsetFinal()
Set the class as not final.
Definition: Class.h:143
Namespace * getProtectedNs()
Get the protected namespace.
Definition: Class.h:176
The ActionScript bytecode of a single ABC tag in a SWF.
Definition: AbcBlock.h:208
void setStaticConstructor(Method *m)
Set the cinit method.
Definition: Class.h:211
Class describing a static property.
Definition: AbcBlock.h:71
bool isDynamic() const
Is the class dynamic?
Definition: Class.h:164
ActionScript value type.
Definition: as_value.h:94
An abstract property.
Definition: Property.h:276
bool isFinal() const
Is the class final?
Definition: Class.h:137
void setConstructor(Method *m)
Set the iinit method.
Definition: Class.h:198
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
type
Definition: GnashKey.h:329
Represent an ActionScript Namespace.
Definition: Namespace.h:48
Class()
Definition: Class.h:79
The base class for all ActionScript objects.
Definition: as_object.h:161
bool isDeclared()
Definition: Class.h:100
bool isSealed() const
Is the class sealed?
Definition: Class.h:146
Method * getStaticConstructor() const
Get the cinit method or 'static constructor'.
Definition: Class.h:216
void addStaticTrait(const Trait &t)
Definition: Class.h:220
Property * getBinding(string_table::key name)
Definition: Class.h:228
void setSystem()
Definition: Class.h:104
Definition: GnashKey.h:160
void unsetSealed()
Definition: Class.h:152
Definition: GnashKey.h:166
A class to represent AS3 Classes.
Definition: Class.h:75
bool isInherited()
Definition: Class.h:102
void setPrototype(as_object *prototype)
Necessary for the current bogus implementation.
Definition: Class.h:248
void setDynamic()
Set the class as dynamic.
Definition: Class.h:167
void setInterface()
Set the class as an interface.
Definition: Class.h:158
bool isSystem()
Definition: Class.h:106
bool hasProtectedNs() const
Does the class have a protected namespace to be inherited?
Definition: Class.h:173
Method * getConstructor() const
Get the iinit method or 'constructor'.
Definition: Class.h:204
void setSuper(Class *p)
Set the Super Class.
Definition: Class.h:190
Definition: GnashKey.h:148
void setFinal()
Set the class as final.
Definition: Class.h:140
void unsetSystem()
Definition: Class.h:105
void setSealed()
Set the class as sealed.
Definition: Class.h:149
bool isInterface() const
Is the class an interface type?
Definition: Class.h:155
string_table::key getName() const
The global name of the class.
Definition: Class.h:182
void setInherited()
Definition: Class.h:101
Definition: GnashKey.h:162
Definition: GnashKey.h:155
An MultiName represents a single ABC multiname.
Definition: MultiName.h:51
void setName(string_table::key name)
Set our Name.
Definition: Class.h:109
Definition: GnashKey.h:159
void setProtectedNs(Namespace *n)
Set the protected namespace.
Definition: Class.h:179
as_object * getPrototype()
Necessary for the current bogus implementation.
Definition: Class.h:256
void pushInterface(Class *p)
We implement this interface.
Definition: Class.h:193
void setDeclared()
Definition: Class.h:99
std::size_t key
Definition: string_table.h:83
std::string name
Definition: LocalConnection_as.cpp:149
Class * getSuper() const
Retrieve the Class from which this Class derives.
Definition: Class.h:185
void addInstanceTrait(const Trait &t)
Definition: Class.h:224