b374k
m1n1 1.01
Apache/2.4.41 (Ubuntu)
Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64
uid=33(www-data) gid=33(www-data) groups=33(www-data)
server ip : 62.171.164.128 | your ip : 127.0.0.1
safemode OFF
 >  / home / a / home / dev2.destoffenstraat.com / vendor / sebastian / phpcpd / src / Detector /
Filename/home/a/home/dev2.destoffenstraat.com/vendor/sebastian/phpcpd/src/Detector/Detector.php
Size1.84 kb
Permissionrw-r--r--
Ownerroot : root
Create time21-Aug-2025 12:26
Last modified16-Nov-2017 09:49
Last accessed23-Aug-2025 00:28
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
<?php
/*
* This file is part of PHP Copy/Paste Detector (PHPCPD).
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace SebastianBergmann\PHPCPD\Detector;

use SebastianBergmann\PHPCPD\Detector\Strategy\AbstractStrategy;
use SebastianBergmann\PHPCPD\CodeCloneMap;
use Symfony\Component\Console\Helper\ProgressBar;

class Detector
{
/**
* @var \SebastianBergmann\PHPCPD\Detector\Strategy\AbstractStrategy
*/
protected $strategy;

/**
* @var \Symfony\Component\Console\Helper\ProgressBar
*/
protected $progressBar;

/**
* @param AbstractStrategy $strategy
* @param ProgressBar|null $progressBar
*/
public function __construct(AbstractStrategy $strategy, ProgressBar $progressBar = null)
{
$this->strategy = $strategy;
$this->progressBar = $progressBar;
}

/**
* Copy & Paste Detection (CPD).
*
* @param \Iterator|array $files List of files to process
* @param int $minLines Minimum number of identical lines
* @param int $minTokens Minimum number of identical tokens
* @param bool $fuzzy
*
* @return CodeCloneMap Map of exact clones found in the list of files
*/
public function copyPasteDetection($files, $minLines = 5, $minTokens = 70, $fuzzy = false)
{
$result = new CodeCloneMap;

foreach ($files as $file) {
$this->strategy->processFile(
$file,
$minLines,
$minTokens,
$result,
$fuzzy
);

if ($this->progressBar !== null) {
$this->progressBar->advance();
}
}

return $result;
}
}