PHPUnit_Util_Test::getLinesToBeCoveredOrUsed PHP Method

getLinesToBeCoveredOrUsed() private static method

private static getLinesToBeCoveredOrUsed ( string $className, string $methodName, string $mode ) : array
$className string
$methodName string
$mode string
return array
    private static function getLinesToBeCoveredOrUsed($className, $methodName, $mode)
    {
        $annotations = self::parseTestMethodAnnotations($className, $methodName);
        $classShortcut = null;
        if (!empty($annotations['class'][$mode . 'DefaultClass'])) {
            if (count($annotations['class'][$mode . 'DefaultClass']) > 1) {
                throw new PHPUnit_Framework_CodeCoverageException(sprintf('More than one @%sClass annotation in class or interface "%s".', $mode, $className));
            }
            $classShortcut = $annotations['class'][$mode . 'DefaultClass'][0];
        }
        $list = [];
        if (isset($annotations['class'][$mode])) {
            $list = $annotations['class'][$mode];
        }
        if (isset($annotations['method'][$mode])) {
            $list = array_merge($list, $annotations['method'][$mode]);
        }
        $codeList = [];
        foreach (array_unique($list) as $element) {
            if ($classShortcut && strncmp($element, '::', 2) === 0) {
                $element = $classShortcut . $element;
            }
            $element = preg_replace('/[\\s()]+$/', '', $element);
            $element = explode(' ', $element);
            $element = $element[0];
            $codeList = array_merge($codeList, self::resolveElementToReflectionObjects($element));
        }
        return self::resolveReflectionObjectsToLines($codeList);
    }