Changeset 736


Ignore:
Timestamp:
2011-04-10T16:38:36+02:00 (4 years ago)
Author:
moo
Message:

decompiler: fix argument default value

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Decompiler.class.php

    r735 r736  
    15581558                echo ', ';
    15591559            }
     1560            $arg = $EX['recvs'][$i + 1];
    15601561            if (isset($op_array['arg_info'])) {
    15611562                $ai = $op_array['arg_info'][$i];
    15621563                if (!empty($ai['class_name'])) {
    15631564                    echo $ai['class_name'], ' ';
    1564                     if ($ai['allow_null']) {
     1565                    if (!ZEND_ENGINE_2_2 && $ai['allow_null']) {
    15651566                        echo 'or NULL ';
    15661567                    }
     
    15681569                else if (!empty($ai['array_type_hint'])) {
    15691570                    echo 'array ';
    1570                     if ($ai['allow_null']) {
     1571                    if (!ZEND_ENGINE_2_2 && $ai['allow_null']) {
    15711572                        echo 'or NULL ';
    15721573                    }
     
    15971598                    }
    15981599                }
    1599                 $arg = $EX['recvs'][$i + 1];
    16001600                echo toCode($arg[0], $indent);
    1601                 if (isset($arg[1])) {
    1602                     echo ' = ', toCode($arg[1], $indent);
    1603                 }
     1601            }
     1602            if (isset($arg[1])) {
     1603                echo ' = ', toCode($arg[1], $indent);
    16041604            }
    16051605        }
  • trunk/decompilesample.php

    r734 r736  
    33class ClassName
    44{
     5    /** doc */
    56    static public $static = array(
    67        array('array'),
    78        'str'
    89        );
     10    /** doc */
    911    static public $public_static = array(2, 'str');
     12    /** doc */
    1013    static private $private_static = array(2, 'str');
     14    /** doc */
    1115    static protected $protected_static = array(2, 'str');
     16    /** doc */
    1217    public $property = array(
    1318        array('array'),
    1419        'str'
    1520        );
     21    /** doc */
    1622    public $public_property = array(2, 'str');
     23    /** doc */
    1724    private $private_property = array(2, 'str');
     25    /** doc */
    1826    protected $protected_property = array(2, 'str');
    1927
     28    /** doc */
    2029    public function __construct($a, $b)
    2130    {
    2231    }
    2332
    24     function method(ClassName $a = null, $b = null)
     33    /** doc */
     34    public function method(array $a = NULL, $b = NULL)
    2535    {
    2636    }
    2737
    28     public function publicMethod(ClassName $a = null, $b = 2)
     38    /** doc */
     39    public function publicMethod(ClassName $a = NULL, $b = 2)
    2940    {
    3041    }
    3142
    32     protected function protectedMethod(ClassName $a, $b = array(array("array")))
     43    /** doc */
     44    protected function protectedMethod(ClassName $a, $b = array(
     45        array('array')
     46        ))
    3347    {
    3448        return 'protected';
    3549    }
    3650
    37     private function privateMethod(ClassName $a, $b = null)
     51    /** doc */
     52    private function privateMethod(ClassName $a, $b = NULL)
    3853    {
    3954        return 'private';
Note: See TracChangeset for help on using the changeset viewer.