gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/as_function.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/as_function.cpp
Date: Mon, 31 Mar 2008 13:59:14 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/03/31 13:59:13

Modified files:
        .              : ChangeLog 
        server         : as_function.cpp 

Log message:
        constructor and __constructor__ still exist in swf5, just not-visible.
        Reduce string_table lookups.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6117&r2=1.6118
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_function.cpp?cvsroot=gnash&r1=1.56&r2=1.57

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6117
retrieving revision 1.6118
diff -u -b -r1.6117 -r1.6118
--- ChangeLog   31 Mar 2008 13:34:26 -0000      1.6117
+++ ChangeLog   31 Mar 2008 13:59:12 -0000      1.6118
@@ -1,3 +1,8 @@
+2008-03-31 Sandro Santilli <address@hidden>
+
+       * server/as_function.cpp: constructor and __constructor__ still exist
+         in swf5, just not-visible. Reduce string_table lookups.
+
 2008-03-31 Benjamin Wolsey <address@hidden>
 
        * testsuite/actionscript.all/Date.as: lots of failing tests, some

Index: server/as_function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_function.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- server/as_function.cpp      31 Mar 2008 11:56:43 -0000      1.56
+++ server/as_function.cpp      31 Mar 2008 13:59:13 -0000      1.57
@@ -125,8 +125,8 @@
 
        if ( iface )
        {
-               iface->init_member("constructor", this); 
-               init_member("prototype", as_value(iface));
+               iface->init_member(NSV::PROP_CONSTRUCTOR, this); 
+               init_member(NSV::PROP_PROTOTYPE, as_value(iface));
        }
 }
 
@@ -134,19 +134,21 @@
 as_function::setPrototype(as_object* proto)
 {
        //_properties = proto;
-       init_member("prototype", as_value(proto));
+       init_member(NSV::PROP_PROTOTYPE, as_value(proto));
 }
 
 void
 as_function::extends(as_function& superclass)
 {
        as_object* newproto = new as_object(superclass.getPrototype().get());
-       newproto->init_member("__proto__", superclass.getPrototype().get());
+       newproto->init_member(NSV::PROP_uuPROTOuu, 
superclass.getPrototype().get());
+
        if ( VM::get().getSWFVersion() > 5 )
        {
-               newproto->init_member("__constructor__", &superclass); 
+               newproto->init_member(NSV::PROP_uuCONSTRUCTORuu, &superclass); 
        }
-       init_member("prototype", as_value(newproto));
+
+       init_member(NSV::PROP_PROTOTYPE, as_value(newproto));
 }
 
 boost::intrusive_ptr<as_object>
@@ -391,14 +393,12 @@
                // Add a __constructor__ member to the new object, but only for 
SWF6 up
                // (to be checked). NOTE that we assume the builtin constructors
                // won't set __constructor__ to some other value...
-               if ( swfversion > 5 )
-               {
-                       newobj->init_member("__constructor__", as_value(this), 
as_prop_flags::dontEnum); // can delete
+               int flags = as_prop_flags::dontEnum|as_prop_flags::onlySWF6Up; 
// can delete, hidden in swf5
+               newobj->init_member(NSV::PROP_uuCONSTRUCTORuu, as_value(this), 
flags);
 
-                       if ( swfversion == 6 )
+               if ( swfversion < 7 )
                        {
-                               newobj->init_member("constructor", 
as_value(this), as_prop_flags::dontEnum); // can delete
-                       }
+                       newobj->init_member(NSV::PROP_CONSTRUCTOR, 
as_value(this), flags);
                }
 
         }
@@ -426,14 +426,12 @@
 
                // Add a __constructor__ member to the new object, but only for 
SWF6 up
                // (to be checked)
-               if ( swfversion > 5 )
-               {
-                       newobj->init_member("__constructor__", as_value(this), 
as_prop_flags::dontEnum); // can delete
+               int flags = as_prop_flags::dontEnum|as_prop_flags::onlySWF6Up; 
// can delete, hidden in swf5
+               newobj->init_member(NSV::PROP_uuCONSTRUCTORuu, as_value(this), 
flags);
 
-                       if ( swfversion == 6 )
+               if ( swfversion < 7 )
                        {
-                               newobj->init_member("constructor", 
as_value(this), as_prop_flags::dontEnum); // can delete
-                       }
+                       newobj->init_member(NSV::PROP_CONSTRUCTOR, 
as_value(this), flags);
                }
 
                // Super is constructed from this function's prototype




reply via email to

[Prev in Thread] Current Thread [Next in Thread]