[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/Global.cpp server/array....
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/Global.cpp server/array.... |
Date: |
Thu, 06 Jul 2006 08:57:06 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/07/06 08:57:06
Modified files:
. : ChangeLog
server : Global.cpp array.cpp array.h
Log message:
had Array unimplemented methods print an ERROR with -v, renamed
array_init to array_class_init and change signature to take by-ref.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.471&r2=1.472
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Global.cpp?cvsroot=gnash&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.h?cvsroot=gnash&r1=1.10&r2=1.11
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.471
retrieving revision 1.472
diff -u -b -r1.471 -r1.472
--- ChangeLog 6 Jul 2006 08:19:12 -0000 1.471
+++ ChangeLog 6 Jul 2006 08:57:06 -0000 1.472
@@ -1,5 +1,9 @@
2006-07-06 Sandro Santilli <address@hidden>
+ * server/Global.cpp, server/array.cpp, server/array.h:
+ had Array unimplemented methods print an ERROR with -v,
+ renamed array_init to array_class_init and change signature
+ to take by-ref.
* server/array.cpp: most functions made module-statics, indentation
* testsuite/actionscript.all/array.as: "tostring" => "toString"
(SWF 7 and up are case-sensitive in this); added tests for
Index: server/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/Global.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- server/Global.cpp 5 Jul 2006 23:56:08 -0000 1.17
+++ server/Global.cpp 6 Jul 2006 08:57:06 -0000 1.18
@@ -554,14 +554,13 @@
// isFinite
set_member("isFinite", as_global_isfinite);
- string_class_init(*this); //set_member("String", as_value(string_ctor));
+ string_class_init(*this);
+ array_class_init(*this);
function_init(this);
movieclip_init(this);
math_init(this);
key_init(this);
system_init(this);
- array_init(this);
- //set_member("Array", as_value(array_new));
}
Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- server/array.cpp 6 Jul 2006 08:19:12 -0000 1.29
+++ server/array.cpp 6 Jul 2006 08:57:06 -0000 1.30
@@ -285,17 +285,35 @@
}
-// Callback for unimplemented functions
static void
-array_not_impl(const fn_call& fn)
+array_splice(const fn_call& fn)
{
assert(dynamic_cast<as_array_object*>(fn.this_ptr));
//as_array_object* array = static_cast<as_array_object*>(fn.this_ptr);
- log_action("ERROR: array method not implemented yet!\n");
+ log_error("Array.splice() method not implemented yet!\n");
+}
+
+static void
+array_sort(const fn_call& fn)
+{
+ assert(dynamic_cast<as_array_object*>(fn.this_ptr));
+ //as_array_object* array = static_cast<as_array_object*>(fn.this_ptr);
+
+ log_error("Array.sort() method not implemented yet!\n");
+}
+
+static void
+array_sortOn(const fn_call& fn)
+{
+ assert(dynamic_cast<as_array_object*>(fn.this_ptr));
+ //as_array_object* array = static_cast<as_array_object*>(fn.this_ptr);
+
+ log_error("Array.sortOn() method not implemented yet!\n");
}
// Callback to report array length
+#if 0 // replaced by get_member override
static void
array_length(const fn_call& fn)
{
@@ -307,6 +325,7 @@
fn.result->set_int(array->size());
}
+#endif
// Callback to push values to the back of an array
static void
@@ -581,9 +600,9 @@
proto->set_member("unshift", &array_unshift);
proto->set_member("pop", &array_pop);
proto->set_member("shift", &array_shift);
- proto->set_member("splice", &array_not_impl);
- proto->set_member("sort", &array_not_impl);
- proto->set_member("sortOn", &array_not_impl);
+ proto->set_member("splice", &array_splice);
+ proto->set_member("sort", &array_sort);
+ proto->set_member("sortOn", &array_sortOn);
proto->set_member("reverse", &array_reverse);
proto->set_member("toString", &array_to_string);
proto->set_member("CASEINSENSITIVE", 1);
@@ -611,7 +630,7 @@
// 'constructor'
//
void
-array_init(as_object* glob)
+array_class_init(as_object& glob)
{
// This is going to be the global Array "class"/"function"
static as_function* ar=NULL;
@@ -629,7 +648,7 @@
}
// Register _global.Array
- glob->set_member("Array", ar);
+ glob.set_member("Array", ar);
}
Index: server/array.h
===================================================================
RCS file: /sources/gnash/gnash/server/array.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/array.h 6 Jul 2006 08:19:12 -0000 1.10
+++ server/array.h 6 Jul 2006 08:57:06 -0000 1.11
@@ -39,20 +39,25 @@
#ifndef GNASH_ARRAY_H
#define GNASH_ARRAY_H
-#include "action.h"
+//#include "action.h"
+#include "as_object.h" // for inheritance
#include <deque>
#include <memory> // for auto_ptr
-namespace gnash {
+#include <string>
- class as_array_object;
+// Forward declarations
+namespace gnash {
+ class fn_call;
+ class as_value;
+}
- void array_init(as_object* global);
+namespace gnash {
- /// The Array ActionScript object
- class as_array_object : public as_object
- {
- public:
+/// The Array ActionScript object
+class as_array_object : public as_object
+{
+public:
as_array_object();
@@ -90,7 +95,7 @@
virtual void set_member(const tu_stringi& name,
const as_value& val );
- private:
+private:
std::deque<as_value> elements;
@@ -99,11 +104,17 @@
// if the string does not refer to an index, or an appropriate
int if the string does refer to an index
int index_requested(const tu_stringi& name);
- };
+};
+
+
+/// Initialize the global.Array object
+// needed by SWFHandlers::ActionInitArray
+void array_class_init(as_object& global);
+
+/// Constructor for ActionScript class Array.
+// needed by SWFHandlers::ActionInitArray
+void array_new(const fn_call& fn);
- /// Constructor for ActionScript class Array.
- // needed by SWFHandlers::ActionInitArray
- void array_new(const fn_call& fn);
};
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/Global.cpp server/array....,
Sandro Santilli <=