diff --git a/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveRedundantQualifierNameInspection.kt b/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveRedundantQualifierNameInspection.kt index 1d50bc5da18..c7e92f1abc1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveRedundantQualifierNameInspection.kt +++ b/idea/src/org/jetbrains/kotlin/idea/inspections/RemoveRedundantQualifierNameInspection.kt @@ -11,6 +11,7 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.util.TextRange import com.intellij.psi.PsiElementVisitor import com.intellij.psi.PsiMember +import com.intellij.psi.PsiMethod import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.idea.analysis.analyzeAsReplacement import org.jetbrains.kotlin.idea.caches.resolve.analyze @@ -72,7 +73,8 @@ private tailrec fun KtDotQualifiedExpression.firstExpressionWithoutReceiver(): K val element = getQualifiedElementSelector()?.mainReference?.resolve() ?: return null return if (element is KtClassOrObject || element is KtCallableDeclaration && element.receiverTypeReference == null || - element is PsiMember && element.hasModifier(JvmModifier.STATIC) + element is PsiMember && element.hasModifier(JvmModifier.STATIC) || + element is PsiMethod && element.isConstructor ) this else (receiverExpression as? KtDotQualifiedExpression)?.firstExpressionWithoutReceiver() } diff --git a/idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt b/idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt new file mode 100644 index 00000000000..e54538c3899 --- /dev/null +++ b/idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt @@ -0,0 +1,7 @@ +// WITH_RUNTIME + +import java.util.ArrayList + +fun test() { + val a = java.util.ArrayList() +} diff --git a/idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt.after b/idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt.after new file mode 100644 index 00000000000..f3b5be855d4 --- /dev/null +++ b/idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt.after @@ -0,0 +1,7 @@ +// WITH_RUNTIME + +import java.util.ArrayList + +fun test() { + val a = ArrayList() +} diff --git a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java index cd86db4b0e7..37d06e46fff 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/inspections/LocalInspectionTestGenerated.java @@ -8139,6 +8139,11 @@ public class LocalInspectionTestGenerated extends AbstractLocalInspectionTest { runTest("idea/testData/inspectionsLocal/removeRedundantQualifierName/innerClassWithImport2.kt"); } + @TestMetadata("javaConstructor.kt") + public void testJavaConstructor() throws Exception { + runTest("idea/testData/inspectionsLocal/removeRedundantQualifierName/javaConstructor.kt"); + } + @TestMetadata("localFun.kt") public void testLocalFun() throws Exception { runTest("idea/testData/inspectionsLocal/removeRedundantQualifierName/localFun.kt");