Ошибка при работе с составным агрументом switch

Issue #30 resolved
Develops repo owner created an issue

Не правильно декомпилится и теряются переходы:

switch (1+2) {
  case 1:
    print 3;
    break;
}

Вывод

switch (1 + 2) {
case 1:
        print(3);
        break;
}
993: ::printBacktrace()
1450: Decompiler::removeJmpInfo(array('Ts' => array, 'indent' => '', 'nextbbs' => array, 'op_array' => array, 'opcodes'
=> array, ...), 7)
1580: Decompiler::decompileComplexBlock(array('Ts' => array, 'indent' => '', 'nextbbs' => array, 'op_array' => array, 'o
pcodes' => array, ...), array(0 => 1, 1 => 6))
1770: Decompiler::recognizeAndDecompileClosedBlocks(array('Ts' => array, 'indent' => '', 'nextbbs' => array, 'op_array'
=> array, 'opcodes' => array, ...), array(0 => 0, 1 => 8), '')
3417: Decompiler::dop_array(array('type' => 2, 'function_name' => NULL, 'fn_flags' => 0, 'arg_info' => NULL, 'num_args'
=> 0, ...))
36: Decompiler::output()

1 + 2;

Comments (1)

  1. Log in to comment