com gtk/php-gtk: *** empty log message ***: generator/generator.php generator/override.php

[email protected] (David Soria Parra) Mon, 27 Mar 2006 04:23:11 +0000
Newsgroups php.gtk.cvs
Message-ID <[email protected]>
Commit:    e7901e6ef071c6fe20c33a651ded6d39b4c56e94
Author:    Andrei Zmievski <[email protected]>         Mon, 27 Mar 2006 04:23:11 +0000
Parents:   19cf4ad4515a6b2a2c4b9e91d02b8844db313787
Branches:  master

Link:       http://git.php.net/?p=gtk/php-gtk.git;a=commitdiff;h=e7901e6ef071c6fe20c33a651ded6d39b4c56e94

Log:
*** empty log message ***

Changed paths:
  M  generator/generator.php
  M  generator/override.php


Diff:
e7901e6ef071c6fe20c33a651ded6d39b4c56e94
diff --git a/generator/generator.php b/generator/generator.php
index fc914ba..0e11b1c 100644
--- a/generator/generator.php
+++ b/generator/generator.php
@@ -329,13 +329,14 @@ class Generator {
         }
 
         if ($this->overrides->have_extra_methods($object->c_name)) {
-            foreach ($this->overrides->get_extra_methods($object->c_name) as $method_name => $method_body) {
+            foreach ($this->overrides->get_extra_methods($object->c_name) as $method_name => $override) {
+                list($method_body, $flags) = $override;
                 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');
+                                                      $reflection_func, $flags ? $flags : 'ZEND_ACC_PUBLIC');
                 $this->divert("gen", "%s  %-11s %s::%s\n", "%%", "method", $object->c_name, $method_name);
                 $num_written++;
                 $this->cover["methods"]->written();
@@ -871,7 +872,8 @@ class Generator {
         }
 
         if ($this->overrides->have_extra_methods($this->prefix)) {
-            foreach ($this->overrides->get_extra_methods($this->prefix) as $func_name => $func_body) {
+            foreach ($this->overrides->get_extra_methods($this->prefix) as $func_name => $override) {
+                list($func_body, $flags) = $override;
                 list($arginfo, $reflection_func) = $this->genReflectionArgInfo(null, $object, $func_name);
 
                 $func_body = preg_replace('!^.*(PHP_METHOD).*$!m', "static $1($this->prefix, $func_name)", $func_body);
diff --git a/generator/override.php b/generator/override.php
index 10dadf6..829c791 100644
--- a/generator/override.php
+++ b/generator/override.php
@@ -186,7 +186,11 @@ class Overrides {
                 if (count($words) < 2) break;
                 $class = $words[0];
                 $method = $words[1];
-                $this->extra_methods[$class][$method] = $rest;
+                if (isset($words[2]))
+                    $flags = $words[2];
+                else
+                    $flags = null;
+                $this->extra_methods[$class][$method] = array($rest, $flags);
                 $this->lineinfo["$class.$method"] = array($blocklineno + 1, $file_name);
                 break;