RemoveRedundantQualifierNameInspection: fix false negative for java constructor
#KT-32506 Fixed
This commit is contained in:
+3
-1
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
fun test() {
|
||||
val a = java.<caret>util.ArrayList<Int>()
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// WITH_RUNTIME
|
||||
|
||||
import java.util.ArrayList
|
||||
|
||||
fun test() {
|
||||
val a = ArrayList<Int>()
|
||||
}
|
||||
+5
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user