Author: Jan Borsodi
Date: 2006-12-20 13:52:10 +0100 (Wed, 20 Dec 2006)
New Revision: 4418

Log:
- Fixed @property entries.

Modified:
   scripts/clone-empty.php

Modified: scripts/clone-empty.php
===================================================================
--- scripts/clone-empty.php     2006-12-20 12:02:23 UTC (rev 4417)
+++ scripts/clone-empty.php     2006-12-20 12:52:10 UTC (rev 4418)
@@ -135,14 +135,12 @@
 
     $new = ""; 
 
-    /*
-    for( $i = 0; $i < 100; $i++)
+/*    for( $i = 0; $i < 100; $i++)
     {
         echo docblock_token_name( $i ) . "\n";
     }
     exit();
-     */
- 
+*/
 
     $insideCode = false;
     for ( $i = 0; $i < sizeof( $tokens ); $i++ )
@@ -197,6 +195,7 @@
             }
             else
             {
+//                    echo "Token:", docblock_token_name( $tokens[$i][0] ), 
$tokens[$i][1], "\n";
             }
   
 
@@ -215,7 +214,8 @@
 
         if( !$insideCode )
         {
-            $new .= str_replace( '$', '\a ', $tokens[$i][1] );
+//            $new .= str_replace( '$', '\a ', $tokens[$i][1] );
+            $new .= $tokens[$i][1];
         }
         else
         {
@@ -288,7 +288,8 @@
     // Create the namespace
     echo "package ".( isset( $classTags["@package"] ) ? 
$classTags["@package"][0] : "PACKAGE_NOT_SET" ).";\n\n";
 
-    echo processDocComment($rc, "class", $class );
+    $classBlock = processDocComment($rc, "class", $class );
+    echo $classBlock;
     echo ("\n");
 
     // Set the access type of the class.
@@ -354,6 +355,39 @@
        }
        echo "\n";
 
+    $o = 0;
+    while ( true )
+    {
+        $text = substr( $classBlock, $o );
+        if ( preg_match( "[EMAIL PROTECTED](-read|-write|)[ 
\t\r\n*]+([a-zA-Z][a-zA-Z0-9_]*)[ \t\r\n*]+(?:[$]?([a-zA-Z][a-zA-Z0-9_]*))[ 
\t\r\n*]+([EMAIL PROTECTED])#s",
+                         $text, $matches, PREG_OFFSET_CAPTURE ) )
+        {
+            $propType = $matches[1][0];
+            $type = $matches[2][0];
+            $name = $matches[3][0];
+            $desc = $matches[4][0];
+            $desc = preg_replace( "#^[ \t]+[*]#m", " ", $desc );
+            $desc = preg_replace( "#[\r\n]#s", " ", $desc );
+            //echo "Got property ", $type, ":", $name, ":", $desc, "\n";
+            $extra = "";
+            if ( $propType == "-read" )
+            {
+                $extra = "\n * @note Read only.";
+            }
+            elseif ( $propType == "-write" )
+            {
+                $extra = "\n * @note Write only.";
+            }
+            echo "/**\n * $desc$extra\n */\n";
+            echo "public $type $name;\n";
+            $o += $matches[0][1] + strlen( $matches[0][0] );
+        }
+        else
+        {
+            break;
+        }
+    }
+
        foreach ( $rc->getMethods() as $method )
        {
         // Don't show the parent class methods.

-- 
svn-components mailing list
[email protected]
http://lists.ez.no/mailman/listinfo/svn-components

Reply via email to