mirror of
https://github.com/github/codeql.git
synced 2025-12-29 23:26:34 +01:00
31 lines
876 B
Plaintext
31 lines
876 B
Plaintext
/**
|
|
* @deprecated
|
|
* @name Similar lines in files
|
|
* @description The number of lines in a file (including code, comment and whitespace lines)
|
|
* occurring in a block of lines that is similar to a block of lines seen
|
|
* somewhere else.
|
|
* @kind treemap
|
|
* @treemap.warnOn highValues
|
|
* @metricType file
|
|
* @metricAggregate avg sum max
|
|
* @precision high
|
|
* @id js/similar-lines-in-files
|
|
* @tags testability
|
|
* duplicate-code
|
|
* non-attributable
|
|
*/
|
|
|
|
import external.CodeDuplication
|
|
|
|
/**
|
|
* Holds if line `l` of file `f` belong to a block of lines that is similar to a block
|
|
* of lines appearing somewhere else.
|
|
*/
|
|
predicate simLine(int l, File f) {
|
|
exists(SimilarBlock d | d.sourceFile() = f | l in [d.sourceStartLine() .. d.sourceEndLine()])
|
|
}
|
|
|
|
from File f, int n
|
|
where n = count(int l | simLine(l, f))
|
|
select f, n order by n desc
|