private static function buildClassList($matches)
    {
        if (array() === $matches) {
            return array();
        }

        $classes   = array();
        $namespace = '';

        for ($i = 0, $len = count($matches['type']); $i < $len; $i++) {
            if (!empty($matches['ns'][$i])) {
                $namespace = str_replace(array(' ', "\t", "\r", "\n"), '', $matches['nsname'][$i]) . '\\';
            } else {
                $name = $matches['name'][$i];
                // skip anon classes extending/implementing
                if ($name === 'extends' || $name === 'implements') {
                    continue;
                }
                if ($name[0] === ':') {
                    // This is an XHP class, https://github.com/facebook/xhp
                    $name = 'xhp' . substr(str_replace(array('-', ':'), array('_', '__'), $name), 1);
                } elseif ($matches['type'][$i] === 'enum') {
                    // In Hack, something like:
                    // enum Foo: int { HERP = '123'; }
                    // The regex above captures the colon, which isn't part of
                    // the class name.
                    $name = rtrim($name, ':');
                }
                $classes[] = ltrim($namespace . $name, '\\');
            }
        }

        return $classes;
    }
private static function buildClassList($matches)
    {
        if (array() === $matches) {
            return array();
        }

        $classes   = array();
        $namespace = '';

        for ($i = 0, $len = count($matches['type']); $i < $len; $i++) {
            if (!empty($matches['ns'][$i])) {
                $namespace = str_replace(array(' ', "\t", "\r", "\n"), '', $matches['nsname'][$i]) . '\\';
            } else {
                $name = $matches['name'][$i];
                // skip anon classes extending/implementing
                if ($name === 'extends' || $name === 'implements') {
                    continue;
                }
                if ($name[0] === ':') {
                    // This is an XHP class, https://github.com/facebook/xhp
                    $name = 'xhp' . substr(str_replace(array('-', ':'), array('_', '__'), $name), 1);
                } elseif ($matches['type'][$i] === 'enum') {
                    // In Hack, something like:
                    // enum Foo: int { HERP = '123'; }
                    // The regex above captures the colon, which isn't part of
                    // the class name.
                    $name = rtrim($name, ':');
                }
                $classes[] = ltrim($namespace . $name, '\\');
            }
        }

        return $classes;
    }
private static function buildClassList ( $ matches ) { if ( array ( ) === $ matches ) { return array ( ) ; } $ classes = array ( ) ; $ namespace = '' ; for ( $ i = 0 , $ len = count ( $ matches [ 'type' ] ) ; $ i < $ len ; $ i ++ ) { if ( ! empty ( $ matches [ 'ns' ] [ $ i ] ) ) { $ namespace = str_replace ( array ( ' ' , "\t" , "\r" , "\n" ) , '' , $ matches [ 'nsname' ] [ $ i ] ) . '\\' ; } else { $ name = $ matches [ 'name' ] [ $ i ] ; // skip anon classes extending/implementing if ( $ name === 'extends' || $ name === 'implements' ) { continue ; } if ( $ name [ 0 ] === ':' ) { // This is an XHP class, https://github.com/facebook/xhp $ name = 'xhp' . substr ( str_replace ( array ( '-' , ':' ) , array ( '_' , '__' ) , $ name ) , 1 ) ; } elseif ( $ matches [ 'type' ] [ $ i ] === 'enum' ) { // In Hack, something like: // enum Foo: int { HERP = '123'; } // The regex above captures the colon, which isn't part of // the class name. $ name = rtrim ( $ name , ':' ) ; } $ classes [ ] = ltrim ( $ namespace . $ name , '\\' ) ; } } return $ classes ; }
Build the class list from the passed matches.

@param array $matches The matches from extractClasses().

@return array
Build the class list from the passed matches .