Skip to content

Commit

Permalink
Suppress property-naming rule via @Suppress("ConstPropertyName") (#…
Browse files Browse the repository at this point in the history
…2442)

* Suppress property-naming rule via `@Suppress("ConstPropertyName")`

Suppression via `@Suppress("PropertyName")` was already supported before.

Closes #2441
  • Loading branch information
paul-dingemans committed Dec 19, 2023
1 parent 00b9a61 commit 519ecbc
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion documentation/snapshot/docs/rules/standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ Enforce naming of property.
}
```

This rule can also be suppressed with the IntelliJ IDEA inspection suppression `PropertyName`.
This rule can also be suppressed with the IntelliJ IDEA inspection suppression `PropertyName` or `ConstPropertyName`.

Rule id: `property-naming` (`standard` rule set)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ internal object SuppressionLocatorBuilder {
"FunctionName" to "standard:function-naming",
"PackageName" to "standard:package-name",
"PropertyName" to "standard:property-naming",
"ConstPropertyName" to "standard:property-naming",
"UnusedImport" to "standard:no-unused-imports",
)
private val SUPPRESS_ANNOTATIONS = setOf("Suppress", "SuppressWarnings")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -416,4 +416,30 @@ class PropertyNamingRuleTest {
LintViolation(12, 9, "Backing property name not allowed when 'private' modifier is missing", canBeAutoCorrected = false),
)
}

@Test
fun `Given a property name suppressed via 'PropertyName' then also suppress the ktlint violation`() {
val code =
"""
class Foo {
@Suppress("PropertyName")
var FOO = "foo"
}
""".trimIndent()
propertyNamingRuleAssertThat(code).hasNoLintViolations()
}

@Test
fun `Issue 2441 - Given a property name suppressed via 'ConstPropertyName' then also suppress the ktlint violation`() {
val code =
"""
interface Bar {
companion object {
@Suppress("ConstPropertyName")
const val bar: String = ""
}
}
""".trimIndent()
propertyNamingRuleAssertThat(code).hasNoLintViolations()
}
}

0 comments on commit 519ecbc

Please sign in to comment.