|
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 |
Size | 1.84 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 16-Nov-2017 09:49 |
Last accessed | 23-Aug-2025 00:28 |
Actions | edit | rename | delete | download (gzip) |
View | text | 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;
}
}
/*
* 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;
}
}