/** * 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; }