Changeset 1509

Show
Ignore:
Timestamp:
01/31/12 23:02:18 (16 months ago)
Author:
Torben Brodt
Message:

tool to remove unused namespaces

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • namespace-unused

    r1508 r1509  
    1919        echo $filename; 
    2020 
    21         $useblock = $block = array(); 
     21        $block = file($filename); 
     22        $useblock = array(); 
    2223        $i = 0; 
    23         foreach(file($filename) as $line) { 
     24        foreach($block as $line) { 
    2425                if(preg_match('/^use .*(?: |\\\)([a-zA-Z]+);$/', $line, $res)) { 
    2526                        $useblock[$i] = $res[1]; 
    2627                } 
    27                 $block[$i] = $line; 
    2828                $i++; 
    2929        } 
     
    3131         
    3232        if($useblock) { 
    33                 $regexp = '/(?:new ('.implode("|", $useblock).')|('.implode("|", $useblock).')::[^\W]+|(?:extends|implements) ('.implode("|", $useblock).'))/'; 
     33                $regexp = '/(?:new ('.implode("|", $useblock).')(?: |\()'. 
     34                        '|('.implode("|", $useblock).')::[^\W]+'. 
     35                        '|(?:extends|implements) ('.implode("|", $useblock).')(?: |$)'. 
     36                        '|(?:catch \(('.implode("|", $useblock).') )'. 
     37                ')/'; 
    3438                preg_match_all($regexp, implode("", $block), $res); 
    3539                if($res) { 
    36                         foreach(array_merge((array)$res[1], (array)$res[2], (array)$res[3]) as $className) { 
     40                        $res = array_merge((array)$res[1], (array)$res[2], (array)$res[3], (array)$res[4]); 
     41                        foreach($res as $className) { 
    3742                                if(!isset($flipped[$className])) { 
    3843                                        continue;