Не определяет тип переменной в zend_ast (PHP 5.6)

Issue #81 resolved
xdasm-admin created an issue

Тестовый код:

<?php

class cls
{
    var $v = array(A::B);
    var $v2 = array(self::test  => array(1,2));
}

?>

Выход

<?php

class cls
{
        public $v = array(un-handled kind  in zend_ast => A::B);
        public $v2 = array(
               self::test => array(un-handled kind  in zend_ast => 1, un-handled kind  in zend_ast => 2)
               );
}

?>

Comments (3)

  1. xdasm-admin reporter

    Исправлено. В массивах не в том аргументе проверялся ключ

        case XC_INIT_ARRAY:
          $array = new Decompiler_Array();
          for ($i = 0; $i < $children; $i += 2) {
            if (isset($ast[$i])) {
              $key = decompileAst($ast[$i], $EX);
              $value = decompileAst($ast[$i + 1], $EX);
              $array->value[] = array($key, $value);
            } else{
              $array->value[] = array(null, decompileAst($ast[$i+1], $EX));
            }
          }
          return $array;
    
  2. Log in to comment