gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/button_character_instanc...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/button_character_instanc...
Date: Thu, 06 Mar 2008 15:29:58 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/03/06 15:29:57

Modified files:
        .              : ChangeLog 
        server         : button_character_instance.cpp 
                         sprite_instance.cpp video_stream_instance.cpp 
        server/asobj   : NetConnection.cpp NetStream.cpp Sound.cpp 
                         Stage.cpp string.cpp xmlnode.cpp 

Log message:
        Further reduce builtin_function for native getter/setters.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5824&r2=1.5825
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.81&r2=1.82
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.483&r2=1.484
http://cvs.savannah.gnu.org/viewcvs/gnash/server/video_stream_instance.cpp?cvsroot=gnash&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetConnection.cpp?cvsroot=gnash&r1=1.59&r2=1.60
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.85&r2=1.86
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Sound.cpp?cvsroot=gnash&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Stage.cpp?cvsroot=gnash&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/string.cpp?cvsroot=gnash&r1=1.55&r2=1.56
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.cpp?cvsroot=gnash&r1=1.48&r2=1.49

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5824
retrieving revision 1.5825
diff -u -b -r1.5824 -r1.5825
--- ChangeLog   6 Mar 2008 14:52:19 -0000       1.5824
+++ ChangeLog   6 Mar 2008 15:29:56 -0000       1.5825
@@ -1,5 +1,14 @@
 2008-03-06 Sandro Santilli <address@hidden>
 
+       * server/button_character_instance.cpp, server/sprite_instance.cpp,
+         server/video_stream_instance.cpp, server/asobj/NetConnection.cpp,
+         server/asobj/NetStream.cpp, server/asobj/Sound.cpp,
+         server/asobj/Stage.cpp, server/asobj/string.cpp,
+         server/asobj/xmlnode.cpp:
+         Further reduce builtin_function for native getter/setters.
+
+2008-03-06 Sandro Santilli <address@hidden>
+
        * server/: Property.{cpp,h}, PropertyList.{cpp,h},
          as_object.{cpp,h}:
          Add support for native getter-setters.

Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- server/button_character_instance.cpp        11 Feb 2008 12:55:21 -0000      
1.81
+++ server/button_character_instance.cpp        6 Mar 2008 15:29:56 -0000       
1.82
@@ -181,75 +181,52 @@
 {
        //int target_version = o.getVM().getSWFVersion();
 
-       boost::intrusive_ptr<builtin_function> gettersetter;
+       as_c_function_ptr gettersetter;
 
        //
        // Properties (TODO: move to appropriate SWF version section)
        //
 
-       gettersetter = new builtin_function(&character::x_getset, NULL);
+       gettersetter = &character::x_getset;
        o.init_property("_x", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::y_getset, NULL);
+       gettersetter = &character::y_getset;
        o.init_property("_y", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::xscale_getset, NULL);
+       gettersetter = &character::xscale_getset;
        o.init_property("_xscale", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::yscale_getset, NULL);
+       gettersetter = &character::yscale_getset;
        o.init_property("_yscale", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::xmouse_get, NULL);
+       gettersetter = &character::xmouse_get;
        o.init_readonly_property("_xmouse", *gettersetter);
 
-       gettersetter = new builtin_function(&character::ymouse_get, NULL);
+       gettersetter = &character::ymouse_get;
        o.init_readonly_property("_ymouse", *gettersetter);
 
-       gettersetter = new builtin_function(&character::alpha_getset, NULL);
+       gettersetter = &character::alpha_getset;
        o.init_property("_alpha", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::visible_getset, NULL);
+       gettersetter = &character::visible_getset;
        o.init_property("_visible", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::width_getset, NULL);
+       gettersetter = &character::width_getset;
        o.init_property("_width", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::height_getset, NULL);
+       gettersetter = &character::height_getset;
        o.init_property("_height", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::rotation_getset, NULL);
+       gettersetter = &character::rotation_getset;
        o.init_property("_rotation", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::parent_getset, NULL);
+       gettersetter = &character::parent_getset;
        o.init_property("_parent", *gettersetter, *gettersetter);
        
-       gettersetter = new builtin_function(&character::target_getset, NULL);
+       gettersetter = &character::target_getset;
        o.init_property("_target", *gettersetter, *gettersetter);
        
-
-#if 0
-       gettersetter = new builtin_function(&character::onrollover_getset, 
NULL);
-       o.init_property("onRollOver", *gettersetter, *gettersetter);
-
-       gettersetter = new builtin_function(&character::onrollout_getset, NULL);
-       o.init_property("onRollOut", *gettersetter, *gettersetter);
-
-       gettersetter = new builtin_function(&character::onpress_getset, NULL);
-       o.init_property("onPress", *gettersetter, *gettersetter);
-
-       gettersetter = new builtin_function(&character::onrelease_getset, NULL);
-       o.init_property("onRelease", *gettersetter, *gettersetter);
-
-       gettersetter = new 
builtin_function(&character::onreleaseoutside_getset, NULL);
-       o.init_property("onReleaseOutside", *gettersetter, *gettersetter);
-
-       gettersetter = new builtin_function(&character::onload_getset, NULL);
-       o.init_property("onLoad", *gettersetter, *gettersetter);
-#endif
-
-       //--
-
-       gettersetter = new 
builtin_function(&button_character_instance::enabled_getset, NULL);
+       gettersetter = &button_character_instance::enabled_getset;
        o.init_property("enabled", *gettersetter, *gettersetter);
 
 }

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.483
retrieving revision 1.484
diff -u -b -r1.483 -r1.484
--- server/sprite_instance.cpp  6 Mar 2008 14:52:20 -0000       1.483
+++ server/sprite_instance.cpp  6 Mar 2008 15:29:56 -0000       1.484
@@ -1942,8 +1942,6 @@
 {
   int target_version = o.getVM().getSWFVersion();
 
-  boost::intrusive_ptr<builtin_function> gettersetter;
-
   // SWF5 or higher
   o.init_member("attachMovie", new builtin_function(sprite_attach_movie));
   o.init_member("play", new builtin_function(sprite_play));
@@ -1971,7 +1969,7 @@
   o.init_member("meth", new builtin_function(sprite_meth));
   o.init_member("enabled", true); // see MovieClip.as testcase
 
-  gettersetter = new builtin_function(&sprite_instance::lockroot_getset, NULL);
+  as_c_function_ptr gettersetter = &sprite_instance::lockroot_getset;
   o.init_property("_lockroot", *gettersetter, *gettersetter); // see 
MovieClip.as testcase
 
   if ( target_version  < 6 ) return;
@@ -2017,78 +2015,6 @@
   // Properties (TODO: move to appropriate SWF version section)
   //
   
-#if 0
-
-  boost::intrusive_ptr<builtin_function> gettersetter;
-
-  gettersetter = new builtin_function(&character::x_getset, NULL);
-  o.init_property("_x", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::y_getset, NULL);
-  o.init_property("_y", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::xscale_getset, NULL);
-  o.init_property("_xscale", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::yscale_getset, NULL);
-  o.init_property("_yscale", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::xmouse_get, NULL);
-  o.init_readonly_property("_xmouse", *gettersetter);
-
-  gettersetter = new builtin_function(&character::ymouse_get, NULL);
-  o.init_readonly_property("_ymouse", *gettersetter);
-
-  gettersetter = new builtin_function(&character::alpha_getset, NULL);
-  o.init_property("_alpha", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::visible_getset, NULL);
-  o.init_property("_visible", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::width_getset, NULL);
-  o.init_property("_width", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::height_getset, NULL);
-  o.init_property("_height", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::rotation_getset, NULL);
-  o.init_property("_rotation", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::parent_getset, NULL);
-  o.init_property("_parent", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_currentframe_get, NULL);
-  o.init_property("_currentframe", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_totalframes_get, NULL);
-  o.init_property("_totalframes", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_framesloaded_get, NULL);
-  o.init_property("_framesloaded", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::target_getset, NULL);
-  o.init_property("_target", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&character::name_getset, NULL);
-  o.init_property("_name", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_droptarget_getset, NULL);
-  o.init_property("_droptarget", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_url_getset, NULL);
-  o.init_property("_url", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_highquality_getset, NULL);
-  o.init_property("_highquality", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_focusrect_getset, NULL);
-  o.init_property("_focusrect", *gettersetter, *gettersetter);
-
-  gettersetter = new builtin_function(&sprite_soundbuftime_getset, NULL);
-  o.init_property("_soundbuftime", *gettersetter, *gettersetter);
-
-#else
-
   as_c_function_ptr gettersetter;
 
   gettersetter = character::x_getset;
@@ -2157,8 +2083,6 @@
   gettersetter = sprite_soundbuftime_getset;
   o.init_property("_soundbuftime", gettersetter, gettersetter);
 
-#endif
-
 }
 
 static as_object*

Index: server/video_stream_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/video_stream_instance.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- server/video_stream_instance.cpp    5 Mar 2008 03:56:00 -0000       1.48
+++ server/video_stream_instance.cpp    6 Mar 2008 15:29:57 -0000       1.49
@@ -63,45 +63,45 @@
 {
        //int target_version = o.getVM().getSWFVersion();
 
-       boost::intrusive_ptr<builtin_function> gettersetter;
+       as_c_function_ptr gettersetter;
 
-       gettersetter = new builtin_function(&character::x_getset, NULL);
+       gettersetter = &character::x_getset;
        o.init_property("_x", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::y_getset, NULL);
+       gettersetter = &character::y_getset;
        o.init_property("_y", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::xscale_getset, NULL);
+       gettersetter = &character::xscale_getset;
        o.init_property("_xscale", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::yscale_getset, NULL);
+       gettersetter = &character::yscale_getset;
        o.init_property("_yscale", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::xmouse_get, NULL);
+       gettersetter = &character::xmouse_get;
        o.init_readonly_property("_xmouse", *gettersetter);
 
-       gettersetter = new builtin_function(&character::ymouse_get, NULL);
+       gettersetter = &character::ymouse_get;
        o.init_readonly_property("_ymouse", *gettersetter);
 
-       gettersetter = new builtin_function(&character::alpha_getset, NULL);
+       gettersetter = &character::alpha_getset;
        o.init_property("_alpha", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::visible_getset, NULL);
+       gettersetter = &character::visible_getset;
        o.init_property("_visible", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::width_getset, NULL);
+       gettersetter = &character::width_getset;
        o.init_property("_width", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::height_getset, NULL);
+       gettersetter = &character::height_getset;
        o.init_property("_height", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::rotation_getset, NULL);
+       gettersetter = &character::rotation_getset;
        o.init_property("_rotation", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::parent_getset, NULL);
+       gettersetter = &character::parent_getset;
        o.init_property("_parent", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&character::target_getset, NULL);
+       gettersetter = &character::target_getset;
        o.init_property("_target", *gettersetter, *gettersetter);
 }
 

Index: server/asobj/NetConnection.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetConnection.cpp,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- server/asobj/NetConnection.cpp      5 Mar 2008 03:56:01 -0000       1.59
+++ server/asobj/NetConnection.cpp      6 Mar 2008 15:29:57 -0000       1.60
@@ -394,12 +394,12 @@
 void
 NetConnection::attachProperties()
 {
-       boost::intrusive_ptr<builtin_function> gettersetter;
+       as_c_function_ptr gettersetter;
 
-       gettersetter = new builtin_function(NetConnection::isConnected_getset, 
NULL);
+       gettersetter = NetConnection::isConnected_getset;
        init_property("isConnected", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(NetConnection::uri_getset, NULL);
+       gettersetter = NetConnection::uri_getset;
        init_property("uri", *gettersetter, *gettersetter);
 
 }

Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -b -r1.85 -r1.86
--- server/asobj/NetStream.cpp  5 Mar 2008 03:56:01 -0000       1.85
+++ server/asobj/NetStream.cpp  6 Mar 2008 15:29:57 -0000       1.86
@@ -407,27 +407,27 @@
        // Properties
        // TODO: attach to each instance rather then to the class ? check it ..
 
-       boost::intrusive_ptr<builtin_function> gettersetter;
+       as_c_function_ptr gettersetter;
 
-       gettersetter = new builtin_function(&netstream_time, NULL);
+       gettersetter = &netstream_time;
        o.init_readonly_property("time", *gettersetter);
 
-       gettersetter = new builtin_function(&netstream_bytesloaded, NULL);
+       gettersetter = &netstream_bytesloaded;
        o.init_readonly_property("bytesLoaded", *gettersetter);
 
-       gettersetter = new builtin_function(&netstream_bytestotal, NULL);
+       gettersetter = &netstream_bytestotal;
        o.init_readonly_property("bytesTotal", *gettersetter);
 
-       gettersetter = new builtin_function(&netstream_currentFPS, NULL);
+       gettersetter = &netstream_currentFPS;
        o.init_readonly_property("currentFps", *gettersetter);
 
-       gettersetter = new builtin_function(&netstream_bufferLength, NULL);
+       gettersetter = &netstream_bufferLength;
        o.init_readonly_property("bufferLength", *gettersetter);
 
-       gettersetter = new builtin_function(&netstream_bufferTime, NULL);
+       gettersetter = &netstream_bufferTime;
        o.init_readonly_property("bufferTime", *gettersetter);
 
-       gettersetter = new builtin_function(&netstream_liveDelay, NULL);
+       gettersetter = &netstream_liveDelay;
        o.init_readonly_property("liveDelay", *gettersetter);
 
 }

Index: server/asobj/Sound.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Sound.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- server/asobj/Sound.cpp      19 Feb 2008 19:20:55 -0000      1.28
+++ server/asobj/Sound.cpp      6 Mar 2008 15:29:57 -0000       1.29
@@ -540,15 +540,15 @@
 
        // Properties
 
-       boost::intrusive_ptr<builtin_function> gettersetter;
+       as_c_function_ptr gettersetter;
 
-       gettersetter = new builtin_function(&sound_duration, NULL);
+       gettersetter = &sound_duration;
        o.init_readonly_property("duration", *gettersetter);
 
-       gettersetter = new builtin_function(&sound_ID3, NULL);
+       gettersetter = &sound_ID3;
        o.init_property("ID3", *gettersetter, *gettersetter);
 
-       gettersetter = new builtin_function(&sound_position, NULL);
+       gettersetter = &sound_position;
        o.init_readonly_property("position", *gettersetter);
 
 }

Index: server/asobj/Stage.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Stage.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- server/asobj/Stage.cpp      19 Feb 2008 19:20:55 -0000      1.30
+++ server/asobj/Stage.cpp      6 Mar 2008 15:29:57 -0000       1.31
@@ -49,30 +49,37 @@
 
        if ( vm.getSWFVersion() < 6 ) return;
 
+       as_c_function_ptr getset;
+
        // Stage.scaleMode getter-setter
-       vm.registerNative(stage_scalemode_getset, 666, 1);
-       vm.registerNative(stage_scalemode_getset, 666, 2);
-       o.init_property("scaleMode", *(vm.getNative(666,1)), 
*(vm.getNative(666,2)));
+       getset = stage_scalemode_getset;
+       vm.registerNative(getset, 666, 1);
+       vm.registerNative(getset, 666, 2);
+       o.init_property("scaleMode", getset, getset);
 
        // Stage.align getter-setter
-       vm.registerNative(stage_align_getset, 666, 3);
-       vm.registerNative(stage_align_getset, 666, 4);
-       o.init_property("width", *(vm.getNative(666,3)), 
*(vm.getNative(666,4)));
+       getset = stage_align_getset;
+       vm.registerNative(getset, 666, 3);
+       vm.registerNative(getset, 666, 4);
+       o.init_property("width", getset, getset);
 
        // Stage.width getter-setter
-       vm.registerNative(stage_width_getset, 666, 5);
-       vm.registerNative(stage_width_getset, 666, 6);
-       o.init_property("width", *(vm.getNative(666,5)), 
*(vm.getNative(666,6)));
+       getset = stage_width_getset;
+       vm.registerNative(getset, 666, 5);
+       vm.registerNative(getset, 666, 6);
+       o.init_property("width", getset, getset);
 
        // Stage.height getter-setter
-       vm.registerNative(stage_height_getset, 666, 7);
-       vm.registerNative(stage_height_getset, 666, 8);
-       o.init_property("height", *(vm.getNative(666,7)), 
*(vm.getNative(666,8)));
+       getset = stage_height_getset;
+       vm.registerNative(getset, 666, 7);
+       vm.registerNative(getset, 666, 8);
+       o.init_property("height", getset, getset);
 
        // Stage.showMenu getter-setter
-       vm.registerNative(stage_showMenu_getset, 666, 9);
-       vm.registerNative(stage_showMenu_getset, 666, 10);
-       o.init_property("showMenu", *(vm.getNative(666,9)), 
*(vm.getNative(666,10)));
+       getset = stage_showMenu_getset;
+       vm.registerNative(getset, 666, 9);
+       vm.registerNative(getset, 666, 10);
+       o.init_property("showMenu", getset, getset);
 
 }
 

Index: server/asobj/string.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/string.cpp,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -b -r1.55 -r1.56
--- server/asobj/string.cpp     5 Mar 2008 03:56:02 -0000       1.55
+++ server/asobj/string.cpp     6 Mar 2008 15:29:57 -0000       1.56
@@ -135,8 +135,7 @@
        o.init_member("substr", vm.getNative(251, 13));
 
        // This isn't advertised as native, so might be a proper property ?
-       boost::intrusive_ptr<builtin_function> length_getter(new 
builtin_function(string_get_length));
-       o.init_readonly_property("length", *length_getter);
+       o.init_readonly_property("length", string_get_length);
 
 }
 

Index: server/asobj/xmlnode.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- server/asobj/xmlnode.cpp    5 Mar 2008 11:14:12 -0000       1.48
+++ server/asobj/xmlnode.cpp    6 Mar 2008 15:29:57 -0000       1.49
@@ -355,6 +355,7 @@
 void
 attachXMLNodeInterface(as_object& o)
 {
+    // These need to be full-featured AS functions (builtin_function)
     o.init_member("appendChild", new builtin_function(xmlnode_appendchild));
     o.init_member("cloneNode", new builtin_function(xmlnode_clonenode));
     o.init_member("hasChildNodes", new 
builtin_function(xmlnode_haschildnodes));
@@ -362,58 +363,36 @@
     o.init_member("removeNode", new builtin_function(xmlnode_removenode));
     o.init_member("toString", new builtin_function(xmlnode_tostring));
 
-    // Properties - FIXME: use addProperty !
+    as_c_function_ptr gettersetter;
 
-    boost::intrusive_ptr<builtin_function> gettersetter;
-
-    gettersetter = new builtin_function(&xmlnode_nodevalue, NULL);
+    gettersetter = &xmlnode_nodevalue;
     o.init_property("nodeValue", *gettersetter, *gettersetter);
 
-    gettersetter = new builtin_function(&xmlnode_nodename, NULL);
+    gettersetter = &xmlnode_nodename;
     o.init_property("nodeName", *gettersetter, *gettersetter);
 
-    gettersetter = new builtin_function(&xmlnode_nodetype, NULL);
+    gettersetter = &xmlnode_nodetype;
     o.init_readonly_property("nodeType", *gettersetter);
 
-    gettersetter = new builtin_function(&xmlnode_attributes, NULL);
+    gettersetter = &xmlnode_attributes;
     o.init_readonly_property("attributes", *gettersetter);
 
-    // These two return an array of objects
-    gettersetter = new builtin_function(xmlnode_childNodes, NULL);
+    gettersetter = xmlnode_childNodes;
     o.init_readonly_property("childNodes", *gettersetter);
 
-    /// \fn MLNode::firstChild
-    /// \brief XMLNode::firstChild property
-    ///
-    /// Read-only property; evaluates the specified XML object and
-    /// references the first child in the parent node's child
-    /// list. This property is null if the node does not have
-    /// children. This property is undefined if the node is a text
-    /// node. This is a read-only property and cannot be used to
-    /// manipulate child nodes; use the appendChild(), insertBefore(),
-    /// and removeNode() methods to manipulate child nodes. 
-    gettersetter = new builtin_function(&xmlnode_firstchild, NULL);
+    gettersetter = &xmlnode_firstchild;
     o.init_readonly_property("firstChild", *gettersetter);
 
-    /// \fn MLNode::lastChild
-    /// \brief XMLNode::lastChild property 
-    ///
-    /// Read-only property; an XMLNode value that references the last
-    /// child in the node's child list. The XML.lastChild property
-    /// is null if the node does not have children. This property cannot
-    /// be used to manipulate child nodes; use the appendChild(),
-    /// insertBefore(), and removeNode() methods to manipulate child
-    /// nodes.
-    gettersetter = new builtin_function(&xmlnode_lastchild, NULL);
+    gettersetter = &xmlnode_lastchild;
     o.init_readonly_property("lastChild", *gettersetter);
 
-    gettersetter = new builtin_function(&xmlnode_nextsibling, NULL);
+    gettersetter = &xmlnode_nextsibling;
     o.init_readonly_property("nextSibling", *gettersetter);
 
-    gettersetter = new builtin_function(&xmlnode_previoussibling, NULL);
+    gettersetter = &xmlnode_previoussibling;
     o.init_readonly_property("previousSibling", *gettersetter);
 
-    gettersetter = new builtin_function(&xmlnode_parentNode, NULL);
+    gettersetter = &xmlnode_parentNode;
     o.init_readonly_property("parentNode", *gettersetter);
 
 }
@@ -655,7 +634,16 @@
     return as_value(ret); 
 }
 
-// Both a getter and a (do-nothing) setter for firstChild
+/// A getter and a (do-nothing) setter for XMLNode.firstChild property
+//
+/// Read-only property; evaluates the specified XML object and
+/// references the first child in the parent node's child
+/// list. This property is null if the node does not have
+/// children. This property is undefined if the node is a text
+/// node. This is a read-only property and cannot be used to
+/// manipulate child nodes; use the appendChild(), insertBefore(),
+/// and removeNode() methods to manipulate child nodes. 
+///
 static as_value
 xmlnode_firstchild(const fn_call& fn)
 {
@@ -672,7 +660,14 @@
     return rv;
 }
 
-// Both a getter and a (do-nothing) setter for lastChild
+/// A getter and a (do-nothing) setter for XMLNode.lastChild
+//
+/// Read-only property; an XMLNode value that references the last
+/// child in the node's child list. The XML.lastChild property
+/// is null if the node does not have children. This property cannot
+/// be used to manipulate child nodes; use the appendChild(),
+/// insertBefore(), and removeNode() methods to manipulate child
+/// nodes.
 static as_value
 xmlnode_lastchild(const fn_call& fn)
 {




reply via email to

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