cvs: php-gtk /generator generator.php

From: Date: Sat, 05 Nov 2005 05:53:38 +0000
Subject: cvs: php-gtk /generator generator.php
Groups: php.gtk.cvs 
Request: Send a blank email to php-gtk-cvs+get-1995@lists.php.net to get a copy of this message
andrei Sat Nov 5 00:53:38 2005 EDT Modified files: /php-gtk/generator generator.php Log: Generate extra class methods added in overrides. http://cvs.php.net/diff.php/php-gtk/generator/generator.php?r1=1.103&r2=1.104&ty=u Index: php-gtk/generator/generator.php diff -u php-gtk/generator/generator.php:1.103 php-gtk/generator/generator.php:1.104 --- php-gtk/generator/generator.php:1.103 Fri Oct 21 09:30:23 2005 +++ php-gtk/generator/generator.php Sat Nov 5 00:53:34 2005 @@ -19,7 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -/* $Id: generator.php,v 1.103 2005/10/21 13:30:23 sfox Exp $ */ +/* $Id: generator.php,v 1.104 2005/11/05 05:53:34 andrei Exp $ */ /* * Significant portions of this generator are based on the pygtk code generator @@ -326,6 +326,27 @@ } } + if ($this->overrides->have_extra_methods($object->c_name)) { + foreach ($this->overrides->get_extra_methods($object->c_name) as $method_name => $method_body) { + list($arginfo, $reflection_func) = $this->genReflectionArgInfo(null, $object, $method_name); + + $method_body = preg_replace('!^.*(PHP_METHOD).*$!m', "static $1($object->c_name, $method_name)", $method_body); + $this->write_override($method_body, $object->c_name, $method_name); + $method_entries[$method_name] = array($object->c_name, $method_name, + $reflection_func, 'ZEND_ACC_PUBLIC'); + $this->divert("gen", "%s %-11s %s::%s\n", "%%", "method", $object->c_name, $method_name); + $num_written++; + $this->cover["methods"]->written(); + + if ($arginfo === null) { + $object->methods[$method_name] = 1; + } else { + $methodarginfos .= $arginfo; + $object->methods[$method_name] = 2; + } + } + } + $this->log_print("(%d written, %d skipped)\n", $num_written, $num_skipped); return array($method_entries, $methodarginfos);

« previous php.gtk.cvs (#1995) next »