Show finding at declaration name instead of the whole declaration (#5003)

This commit is contained in:
Artur Bosch
2022-06-28 15:25:56 +02:00
committed by GitHub
parent 5d6ee2f43e
commit 29158afff7
2 changed files with 8 additions and 8 deletions

View File

@@ -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,

View File

@@ -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)
}
}
}