mirror of
https://github.com/jlengrand/detekt.git
synced 2026-03-10 08:11:23 +00:00
Show finding at declaration name instead of the whole declaration (#5003)
This commit is contained in:
@@ -79,7 +79,7 @@ class MatchingDeclarationName(config: Config = Config.empty) : Rule(config) {
|
||||
val declarationName = declaration.name
|
||||
val filename = file.fileNameWithoutSuffix()
|
||||
if (declarationName != filename && hasNoMatchingTypeAlias(filename)) {
|
||||
val entity = Entity.from(declaration).copy(ktElement = file)
|
||||
val entity = Entity.atName(declaration).copy(ktElement = file)
|
||||
report(
|
||||
CodeSmell(
|
||||
issue,
|
||||
|
||||
@@ -132,7 +132,7 @@ class MatchingDeclarationNameSpec {
|
||||
fun `should not pass for object declaration`() {
|
||||
val ktFile = compileContentForTest("object O", filename = "Objects.kt")
|
||||
val findings = MatchingDeclarationName().lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(1, 1)
|
||||
assertThat(findings).hasSourceLocation(1, 8)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -142,14 +142,14 @@ class MatchingDeclarationNameSpec {
|
||||
filename = "Objects.kt"
|
||||
)
|
||||
val findings = MatchingDeclarationName().lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(1, 1)
|
||||
assertThat(findings).hasSourceLocation(1, 45)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should not pass for class declaration`() {
|
||||
val ktFile = compileContentForTest("class C", filename = "Classes.kt")
|
||||
val findings = MatchingDeclarationName().lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(1, 1)
|
||||
assertThat(findings).hasSourceLocation(1, 7)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -163,14 +163,14 @@ class MatchingDeclarationNameSpec {
|
||||
filename = "ClassUtils.kt"
|
||||
)
|
||||
val findings = MatchingDeclarationName().lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(1, 1)
|
||||
assertThat(findings).hasSourceLocation(1, 7)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `should not pass for interface declaration`() {
|
||||
val ktFile = compileContentForTest("interface I", filename = "Not_I.kt")
|
||||
val findings = MatchingDeclarationName().lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(1, 1)
|
||||
assertThat(findings).hasSourceLocation(1, 11)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -184,7 +184,7 @@ class MatchingDeclarationNameSpec {
|
||||
filename = "E.kt"
|
||||
)
|
||||
val findings = MatchingDeclarationName().lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(1, 1)
|
||||
assertThat(findings).hasSourceLocation(1, 12)
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -211,7 +211,7 @@ class MatchingDeclarationNameSpec {
|
||||
val findings = MatchingDeclarationName(
|
||||
TestConfig("mustBeFirst" to "false")
|
||||
).lint(ktFile)
|
||||
assertThat(findings).hasSourceLocation(3, 1)
|
||||
assertThat(findings).hasSourceLocation(3, 7)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user