Ignore:
Timestamp:
2013-08-12T11:25:57+02:00 (12 months ago)
Author:
moo
Message:

Decompiler: support for const in static array index; TODO: PHP 5.0- support for static array

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/Decompiler.class.php

    r1342 r1343  
    280280            if (ZEND_ENGINE_2_3) { 
    281281                // closure local variable? 
    282                 return str($this->src); 
     282                return 'STR' . str($this->src); 
     283            } 
     284            else { 
     285                $EX = array(); 
     286                return str(value($this->src, $EX)); 
    283287            } 
    284288            die('static fetch cant to string'); 
     
    492496        $elements = array(); 
    493497        foreach ($array as $key => $value) { 
    494             $elements[] = array(value($key, $EX), value($value, $EX)); 
     498            if ((xcache_get_type($value) & IS_CONSTANT_INDEX)) { 
     499                $keyCode = $GLOBALS['__xcache_decompiler']->stripNamespace( 
     500                        ZEND_ENGINE_2_3 
     501                        ? substr($key, 0, -2) 
     502                        : $key 
     503                        ); 
     504            } 
     505            else { 
     506                $keyCode = value($key, $EX); 
     507            } 
     508            $elements[] = array($keyCode, value($value, $EX)); 
    495509        } 
    496510        $this->value = $elements; 
Note: See TracChangeset for help on using the changeset viewer.