/usr/share/php/SebastianBergmann/PHPCPD/Log/PMD.php is in phpcpd 2.0.4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | <?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\Log;
use SebastianBergmann\PHPCPD\CodeCloneMap;
/**
* Implementation of AbstractXmlLogger that writes in PMD-CPD format.
*
* @author Sebastian Bergmann <sebastian@phpunit.de>
* @copyright Sebastian Bergmann <sebastian@phpunit.de>
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
* @link http://github.com/sebastianbergmann/phpcpd/tree
* @since Class available since Release 1.0.0
*/
class PMD extends AbstractXmlLogger
{
/**
* Processes a list of clones.
*
* @param CodeCloneMap $clones
*/
public function processClones(CodeCloneMap $clones)
{
$cpd = $this->document->createElement('pmd-cpd');
$this->document->appendChild($cpd);
foreach ($clones as $clone) {
$duplication = $cpd->appendChild(
$this->document->createElement('duplication')
);
$duplication->setAttribute('lines', $clone->getSize());
$duplication->setAttribute('tokens', $clone->getTokens());
foreach ($clone->getFiles() as $codeCloneFile) {
$file = $duplication->appendChild(
$this->document->createElement('file')
);
$file->setAttribute('path', $codeCloneFile->getName());
$file->setAttribute('line', $codeCloneFile->getStartLine());
}
$duplication->appendChild(
$this->document->createElement(
'codefragment',
htmlspecialchars(
$this->convertToUtf8($clone->getLines()),
ENT_COMPAT,
'UTF-8'
)
)
);
}
$this->flush();
}
}
|