Ignore:
Timestamp:
2011-04-25T12:14:07+02:00 (4 years ago)
Author:
moo
Message:

Decompiler: adds blank line between blocks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Decompiler.class.php

    r787 r788  
    653653    function decompileBasicBlock(&$EX, $first, $last, $indent) // {{{ 
    654654    { 
     655        if (isset($EX['lastBlock'])) { 
     656            echo PHP_EOL; 
     657        } 
    655658        $this->dasmBasicBlock($EX, $first, $last); 
    656659        // $this->dumpRange($EX, $first, $last); 
     
    671674    } 
    672675    // }}} 
     676    function beginComplexBlock(&$EX) // {{{ 
     677    { 
     678        if (isset($EX['lastBlock'])) { 
     679            echo PHP_EOL; 
     680            $EX['lastBlock'] = null; 
     681        } 
     682    } 
     683    // }}} 
     684    function endComplexBlock(&$EX) // {{{ 
     685    { 
     686        $EX['lastBlock'] = 'complex'; 
     687    } 
     688    // }}} 
    673689    function decompileComplexBlock(&$EX, $first, $last, $indent) // {{{ 
    674690    { 
     
    681697         && $lastOp['jmpouts'][0] == $first) { 
    682698            $this->removeJmpInfo($EX, $last); 
     699            $this->beginComplexBlock($EX); 
    683700            echo $indent, 'do {', PHP_EOL; 
    684701            $this->recognizeAndDecompileClosedBlocks($EX, $first, $last, $indent . INDENT); 
    685702            echo $indent, '} while (', str($this->getOpVal($lastOp['op1'], $EX)), ');', PHP_EOL; 
     703            $this->endComplexBlock($EX); 
    686704            return; 
    687705        } 
     
    704722            $this->removeJmpInfo($EX, $last); 
    705723 
     724            $this->beginComplexBlock($EX); 
    706725            ob_start(); 
    707726            $this->recognizeAndDecompileClosedBlocks($EX, $first, $last, $indent . INDENT); 
     
    710729            echo $code; 
    711730            echo $indent, '}', PHP_EOL; 
     731            $this->endComplexBlock($EX); 
    712732            return; 
    713733        } 
     
    719739    { 
    720740        $opcodes = &$EX['opcodes']; 
    721         $firstComplex = false; 
    722741 
    723742        $i = $starti = $first; 
Note: See TracChangeset for help on using the changeset viewer.