On 17 November 2010 02:52, Justin Martin <frozenf...@php.net> wrote:
> frozenfire                               Wed, 17 Nov 2010 02:52:49 +0000
>
> Revision: http://svn.php.net/viewvc?view=revision&revision=305431
>
> Log:
> Very preliminary mod of docgen.php which uses the PHP-GTK sources to bypass 
> lack of Reflection data.

Is there any reason why these gtk-related changes cannot happen on trunk?

>
> Changed paths:
>    U   phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php
>
> Modified: phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php
> ===================================================================
> --- phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php       
> 2010-11-17 02:50:01 UTC (rev 305430)
> +++ phpdoc/doc-base/branches/gtk-docgen/scripts/docgen/docgen.php       
> 2010-11-17 02:52:49 UTC (rev 305431)
> @@ -70,6 +70,7 @@
>        -c,--class      -- class name
>        -e,--extension  -- extension name
>        -f,--function   -- function name
> +       -g,--gtk        -- specify the PHP-GTK source directory
>        -h,--help       -- show this help
>        -i,--include    -- includes a PHP file
>        (shortcut for: php -dauto_prepend_file=streams.php docgen.php)
> @@ -832,8 +833,35 @@
>
>                        write_doc($extension, DOC_EXTENSION);
>
> -                       foreach ($extension->getClasses() as $class) {
> -                               gen_docs($class->name, DOC_CLASS);
> +                       if($OPTION['gtk']) {
> +                               $classes = array();
> +                               $dirsep = DIRECTORY_SEPARATOR;
> +                               $data = array_merge(
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}gtk+{$dirsep}atk.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}gtk+{$dirsep}gdk.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}gtk+{$dirsep}gtk.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}extra{$dirsep}gtkextra.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}html{$dirsep}html.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}libglade{$dirsep}libglade.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}libsexy{$dirsep}sexy.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}mozembed{$dirsep}mozembed.defs"),
> +                                       
> file("{$OPTION['gtk']}{$dirsep}ext{$dirsep}sourceview{$dirsep}sourceview.defs")
> +                               );
> +                               foreach ($data as $line) {
> +                                       preg_match("/(?:of-object 
> \")(\w*)(?:\")/", $line, $matches);
> +                                       if($matches) $classes[] =  
> $matches[1];
> +                               }
> +                               $classes = array_unique($classes);
> +
> +                               foreach ($classes as $classtmp) {
> +                                       if(!class_exists($classtmp)) continue;
> +                                       $class = new 
> ReflectionClass($classtmp);
> +                                       gen_docs($class->name, DOC_CLASS);
> +                               }
> +                       } else {
> +                               foreach ($extension->getClasses() as $class) {
> +                                       gen_docs($class->name, DOC_CLASS);
> +                               }
>                        }
>
>                        foreach ($extension->getFunctions() as $function) {
> @@ -1005,6 +1033,7 @@
>  $OPTION['method']       = NULL;
>  $OPTION['class']        = NULL;
>  $OPTION['function']  = NULL;
> +$OPTION['gtk']          = NULL;
>  $OPTION['output']       = getcwd() . '/output';
>  $OPTION['verbose']   = true;
>  $OPTION['quiet']        = false;
> @@ -1033,6 +1062,7 @@
>        'class:'                => 'c:', /* classname */
>        'extension:'    => 'e:', /* extension */
>        'function:'     => 'f:', /* function */
> +       'gtk:'                  => 'g:',  /* gtk */
>        'method:'               => 'm:'  /* method */
>  );
>
> @@ -1065,6 +1095,10 @@
>                case 'function':
>                        $OPTION['function'] = $value;
>                        break;
> +               case 'g':
> +               case 'gtk':
> +                       $OPTION['gtk'] = $value;
> +                       break;
>                case 'm':
>                case 'method':
>                        if (!array_key_exists('c', $options) && 
> !array_key_exists('class', $options)) {
>
>
> --
> PHP Documentation Commits Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

Reply via email to