PHPCD\PHPCD::fixRelativeType PHP Method

fixRelativeType() private method

private fixRelativeType ( $path, $names )
    private function fixRelativeType($path, $names)
    {
        $nsuse = null;
        $types = [];
        foreach ($names as $type) {
            if (isset($this->primitive_types[$type])) {
                continue;
            }
            if (!$nsuse && $type[0] != '\\') {
                $nsuse = $this->nsuse($path);
            }
            if (in_array(strtolower($type), ['static', '$this', 'self'])) {
                $type = $nsuse['namespace'] . '\\' . $nsuse['class'];
            } elseif ($type[0] != '\\') {
                $parts = explode('\\', $type);
                $alias = array_shift($parts);
                if (isset($nsuse['imports'][$alias])) {
                    $type = $nsuse['imports'][$alias];
                    if ($parts) {
                        $type = $type . '\\' . join('\\', $parts);
                    }
                } else {
                    $type = $nsuse['namespace'] . '\\' . $type;
                }
            }
            if ($type) {
                if ($type[0] != '\\') {
                    $type = '\\' . $type;
                }
                $types[] = $type;
            }
        }
        return self::arrayUnique($types);
    }