Gnash
0.8.11dev
|
Parameters/environment for builtin or user-defined functions callable from ActionScript. More...
#include <fn_call.h>
Public Types | |
typedef FunctionArgs< as_value > | Args |
Public Member Functions | |
fn_call (as_object *this_in, const as_environment &env_in, Args &args, as_object *sup=nullptr, bool isNew=false) | |
Construct a fn_call. More... | |
fn_call (as_object *this_in, const as_environment &env_in) | |
fn_call (const fn_call &fn) | |
Copy constructor. More... | |
VM & | getVM () const |
Return the VM this fn_call is running from. More... | |
bool | isInstantiation () const |
Return true if this call is an object instantiation. More... | |
const Args::value_type & | arg (unsigned int n) const |
Access a particular argument. More... | |
const Args::container_type & | getArgs () const |
void | drop_bottom () |
const as_environment & | env () const |
void | dump_args (std::ostream &os) const |
Dump arguments to given output stream. More... | |
void | resetArgs () |
void | pushArg (const Args::value_type &arg) |
Public Attributes | |
as_object * | this_ptr |
as_object * | super |
The "super" object in this function call context. More... | |
Args::size_type | nargs |
Number of arguments to this ActionScript function call. More... | |
const movie_definition * | callerDef |
Definition containing caller code. 0 if spontaneous (system event). More... | |
Parameters/environment for builtin or user-defined functions callable from ActionScript.
typedef FunctionArgs<as_value> gnash::fn_call::Args |
|
inline |
Construct a fn_call.
isNew | Pass true if this is a constructing fn_call, i.e. if it is called as a result of 'new'. |
super | Pass an overridden super value to the function call. If this is 0, the super reference will be calculated from the this pointer (if that is not null) whenever a function requires it. |
References gnash::FunctionArgs< T >::swap().
|
inline |
|
inline |
Copy constructor.
|
inline |
Access a particular argument.
References gnash::key::n.
Referenced by gnash::arrayKey(), gnash::bevelfilter_class_init(), gnash::DisplayObject::blendMode(), gnash::blurfilter_class_init(), gnash::Function2::call(), gnash::Function::call(), gnash::BufferedAudioStreamer::cleanAudioQueue(), gnash::color_class_init(), gnash::contextmenuitem_class_init(), gnash::dbus_ext_setsockname(), gnash::dejagnu_fail(), gnash::dejagnu_pass(), gnash::dropshadowfilter_class_init(), gnash::Error_class_init(), gnash::abc::Machine::executeFunction(), gnash::externalinterface_class_init(), gnash::fileio_asyncmode(), gnash::fileio_fopen(), gnash::fileio_fputc(), gnash::fileio_fputs(), gnash::fileio_fseek(), gnash::fileio_fwrite(), gnash::fileio_putchar(), gnash::fileio_puts(), gnash::fileio_scandir(), gnash::fileio_unlink(), gnash::function_class_init(), gnash::getArguments(), gnash::glowfilter_class_init(), gnash::gradientbevelfilter_class_init(), gnash::gradientglowfilter_class_init(), gnash::gtkext_button_new_with_label(), gnash::gtkext_container_add(), gnash::gtkext_container_set_border_width(), gnash::gtkext_signal_connect(), gnash::gtkext_signal_connect_swapped(), gnash::gtkext_widget_show(), gnash::AsBroadcaster::init(), gnash::initObjectClass(), gnash::key_is_down(), gnash::lirc_ext_init(), gnash::loadvars_class_init(), gnash::Global_as::makeObject(), gnash::math_class_init(), gnash::matrix_class_init(), gnash::moviecliploader_class_init(), gnash::mysql_connect(), gnash::mysql_qetData(), gnash::mysql_query(), gnash::point_class_init(), gnash::rectangle_class_init(), gnash::registerBitmapDataNative(), gnash::registerBooleanNative(), gnash::registerColorTransformNative(), gnash::registerDateNative(), gnash::registerLocalConnectionNative(), gnash::registerMovieClipNative(), gnash::registerSelectionNative(), gnash::registerSharedObjectNative(), gnash::registerSoundNative(), gnash::registerStageNative(), gnash::registerSystemNative(), gnash::registerTextFieldNative(), gnash::registerVideoNative(), gnash::registerXMLNative(), gnash::registerXMLSocketNative(), gnash::string_class_init(), gnash::textformat_class_init(), gnash::transform_class_init(), gnash::NetConnection_as::update(), and gnash::xmlnode_class_init().
|
inline |
|
inline |
Dump arguments to given output stream.
References gnash::key::i.
Referenced by gnash::color_class_init(), gnash::fileio_fopen(), gnash::filereference_class_init(), gnash::filereferencelist_ctor(), gnash::AsBroadcaster::init(), gnash::initObjectClass(), gnash::Global_as::makeObject(), gnash::matrix_class_init(), gnash::moviecliploader_class_init(), gnash::point_class_init(), gnash::rectangle_class_init(), gnash::registerBitmapDataNative(), gnash::registerColorTransformNative(), gnash::registerLocalConnectionNative(), gnash::registerMovieClipNative(), gnash::registerSharedObjectNative(), gnash::registerSoundNative(), gnash::registerTextFieldNative(), gnash::registerXMLSocketNative(), gnash::string_class_init(), gnash::transform_class_init(), gnash::NetConnection_as::update(), and gnash::xmlnode_class_init().
|
inline |
References _env.
Referenced by gnash::arrayKey(), gnash::color_class_init(), gnash::contextmenuitem_class_init(), gnash::externalinterface_class_init(), gnash::getClassConstructor(), gnash::initObjectClass(), gnash::Global_as::makeObject(), gnash::matrix_class_init(), gnash::moviecliploader_class_init(), gnash::point_class_init(), gnash::rectangle_class_init(), gnash::registerBitmapDataNative(), gnash::registerDateNative(), gnash::registerMovieClipNative(), gnash::registerSelectionNative(), gnash::registerTextFieldNative(), gnash::registerXMLSocketNative(), mysqldb::size_method(), and gnash::transform_class_init().
|
inline |
Referenced by gnash::externalinterface_class_init(), and gnash::NetConnection_as::update().
|
inline |
Return the VM this fn_call is running from.
References _env.
Referenced by gnash::getGlobal(), gnash::getRoot(), gnash::getStringTable(), gnash::getSWFVersion(), and gnash::getVM().
|
inline |
Return true if this call is an object instantiation.
Referenced by gnash::arrayKey(), gnash::initObjectClass(), gnash::registerBooleanNative(), gnash::registerDateNative(), and gnash::string_class_init().
|
inline |
References _env.
|
inline |
const movie_definition* gnash::fn_call::callerDef |
Definition containing caller code. 0 if spontaneous (system event).
Referenced by gnash::invoke(), gnash::registerSoundNative(), and gnash::string_class_init().
Args::size_type gnash::fn_call::nargs |
Number of arguments to this ActionScript function call.
Referenced by gnash::arrayKey(), gnash::bevelfilter_class_init(), gnash::DisplayObject::blendMode(), gnash::blurfilter_class_init(), gnash::Function2::call(), gnash::Function::call(), gnash::BufferedAudioStreamer::cleanAudioQueue(), gnash::color_class_init(), gnash::contextmenuitem_class_init(), gnash::dbus_ext_setsockname(), gnash::dejagnu_fail(), gnash::dejagnu_pass(), gnash::dropshadowfilter_class_init(), gnash::Error_class_init(), gnash::abc::Machine::executeFunction(), gnash::externalinterface_class_init(), gnash::fileio_fopen(), gnash::fileio_scandir(), gnash::filereference_class_init(), gnash::filereferencelist_ctor(), gnash::function_class_init(), gnash::getArguments(), gnash::glowfilter_class_init(), gnash::gradientbevelfilter_class_init(), gnash::gradientglowfilter_class_init(), gnash::gtkext_button_new_with_label(), gnash::gtkext_container_add(), gnash::gtkext_container_set_border_width(), gnash::gtkext_signal_connect(), gnash::gtkext_signal_connect_swapped(), gnash::gtkext_widget_show(), gnash::AsBroadcaster::init(), gnash::initObjectClass(), gnash::key_is_down(), gnash::lirc_ext_getkey(), gnash::lirc_ext_init(), gnash::loadvars_class_init(), gnash::Global_as::makeObject(), gnash::math_class_init(), gnash::matrix_class_init(), gnash::moviecliploader_class_init(), gnash::mysql_connect(), gnash::mysql_fetch(), gnash::mysql_qetData(), gnash::mysql_query(), gnash::point_class_init(), gnash::rectangle_class_init(), gnash::registerBitmapDataNative(), gnash::registerBooleanNative(), gnash::registerColorTransformNative(), gnash::registerDateNative(), gnash::registerLocalConnectionNative(), gnash::registerMovieClipNative(), gnash::registerSelectionNative(), gnash::registerSharedObjectNative(), gnash::registerSoundNative(), gnash::registerStageNative(), gnash::registerSystemNative(), gnash::registerTextFieldNative(), gnash::registerVideoNative(), gnash::registerXMLNative(), gnash::registerXMLSocketNative(), gnash::string_class_init(), gnash::textformat_class_init(), gnash::transform_class_init(), gnash::NetConnection_as::update(), and gnash::xmlnode_class_init().
as_object* gnash::fn_call::super |
The "super" object in this function call context.
If this is 0, the super may be constructed from the this pointer.
Referenced by gnash::Function2::call(), gnash::Function::call(), and gnash::invoke().
as_object* gnash::fn_call::this_ptr |
The as_object (or a pointer derived thereof) on which this call is taking place.
Referenced by gnash::arrayKey(), gnash::Function2::call(), gnash::Function::call(), gnash::BufferedAudioStreamer::cleanAudioQueue(), gnash::contextmenuitem_class_init(), gnash::ensure(), gnash::Error_class_init(), gnash::abc::Machine::executeFunction(), gnash::gtkext_button_new_with_label(), gnash::gtkext_container_add(), gnash::gtkext_container_set_border_width(), gnash::gtkext_main(), gnash::gtkext_signal_connect(), gnash::gtkext_signal_connect_swapped(), gnash::gtkext_widget_show(), gnash::gtkext_window_new(), gnash::AsBroadcaster::init(), gnash::initObjectClass(), gnash::loadvars_class_init(), gnash::Global_as::makeObject(), gnash::registerBooleanNative(), gnash::registerDateNative(), gnash::registerMovieClipNative(), gnash::registerXMLNative(), gnash::registerXMLSocketNative(), mysqldb::size_method(), gnash::string_class_init(), and gnash::NetConnection_as::update().