cvs: php-gtk /generator generator.php
| From: | Andrei Zmievski | 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);