diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/NamingConventionInspections.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/NamingConventionInspections.kt
index ca9ca4f9899..6b556f77e8f 100644
--- a/idea/src/org/jetbrains/kotlin/idea/inspections/NamingConventionInspections.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/inspections/NamingConventionInspections.kt
@@ -134,6 +134,9 @@ class FunctionNameInspection : NamingConventionInspection(
) {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
return namedFunctionVisitor { function ->
+ if (function.hasModifier(KtTokens.OVERRIDE_KEYWORD)) {
+ return@namedFunctionVisitor
+ }
if (!TestUtils.isInTestSourceContent(function)) {
verifyName(function, holder)
}
@@ -170,6 +173,10 @@ abstract class PropertyNameInspectionBase protected constructor(
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean): PsiElementVisitor {
return propertyVisitor { property ->
+ if (property.hasModifier(KtTokens.OVERRIDE_KEYWORD)) {
+ return@propertyVisitor
+ }
+
if (property.getKind() == kind) {
verifyName(property, holder)
}
diff --git a/idea/testData/inspections/naming/function/inspectionData/expected.xml b/idea/testData/inspections/naming/function/inspectionData/expected.xml
index 494e38f73fd..a2a09a2ada9 100644
--- a/idea/testData/inspections/naming/function/inspectionData/expected.xml
+++ b/idea/testData/inspections/naming/function/inspectionData/expected.xml
@@ -2,23 +2,22 @@
test.kt
1
- light_idea_test_case
-
Function name <code>Foo</code> should start with a lowercase letter #loc
test.kt
3
- light_idea_test_case
-
Function name <code>FOO_BAR</code> should not contain underscores #loc
test.kt
7
- light_idea_test_case
-
Class naming convention
Function name <code>`a b`</code> may contain only letters and digits #loc
+
+ test.kt
+ 10
+ Function name <code>a_b</code> should not contain underscores #loc
+
diff --git a/idea/testData/inspections/naming/function/test.kt b/idea/testData/inspections/naming/function/test.kt
index 81e7dae21af..4af97aae4cb 100644
--- a/idea/testData/inspections/naming/function/test.kt
+++ b/idea/testData/inspections/naming/function/test.kt
@@ -4,4 +4,12 @@ fun FOO_BAR() {}
fun xyzzy() {}
-fun `a b`() {}
\ No newline at end of file
+fun `a b`() {}
+
+interface I {
+ fun a_b()
+}
+
+class C : I {
+ override fun a_b() {} // Shouldn't be reported
+}
\ No newline at end of file
diff --git a/idea/testData/inspections/naming/property/inspectionData/expected.xml b/idea/testData/inspections/naming/property/inspectionData/expected.xml
index 4713fb622c7..c4fcee5e78b 100644
--- a/idea/testData/inspections/naming/property/inspectionData/expected.xml
+++ b/idea/testData/inspections/naming/property/inspectionData/expected.xml
@@ -2,8 +2,11 @@
test.kt
27
- light_idea_test_case
-
Property name <code>_Foo</code> should not start with an underscore #loc
+
+ test.kt
+ 37
+ Property name <code>Foo</code> should start with a lowercase letter #loc
+
diff --git a/idea/testData/inspections/naming/property/test.kt b/idea/testData/inspections/naming/property/test.kt
index abc1562487e..99c50f2d317 100644
--- a/idea/testData/inspections/naming/property/test.kt
+++ b/idea/testData/inspections/naming/property/test.kt
@@ -31,4 +31,12 @@ class D {
var FOO_BAR: Int = 0
}
+}
+
+interface I {
+ val Foo: Int
+}
+
+class C : I {
+ override override val Foo = 1
}
\ No newline at end of file