FIR IDE: Fix ImportOptimizer for types used as generics' parameters
This commit is contained in:
+4
@@ -119,11 +119,15 @@ internal class KtFirImportOptimizer(
|
|||||||
|
|
||||||
override fun visitResolvedTypeRef(resolvedTypeRef: FirResolvedTypeRef) {
|
override fun visitResolvedTypeRef(resolvedTypeRef: FirResolvedTypeRef) {
|
||||||
processTypeRef(resolvedTypeRef)
|
processTypeRef(resolvedTypeRef)
|
||||||
|
|
||||||
|
resolvedTypeRef.delegatedTypeRef?.accept(this)
|
||||||
super.visitTypeRef(resolvedTypeRef)
|
super.visitTypeRef(resolvedTypeRef)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun visitErrorTypeRef(errorTypeRef: FirErrorTypeRef) {
|
override fun visitErrorTypeRef(errorTypeRef: FirErrorTypeRef) {
|
||||||
processTypeRef(errorTypeRef)
|
processTypeRef(errorTypeRef)
|
||||||
|
|
||||||
|
errorTypeRef.delegatedTypeRef?.accept(this)
|
||||||
super.visitErrorTypeRef(errorTypeRef)
|
super.visitErrorTypeRef(errorTypeRef)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+12
@@ -78,6 +78,12 @@ public class HLImportOptimizerTestGenerated extends AbstractHLImportOptimizerTes
|
|||||||
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.kt");
|
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedInvokeOperatorImport.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("usedTypeAsTypeParameter.kt")
|
||||||
|
public void testUsedTypeAsTypeParameter() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/usedTypeAsTypeParameter.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Nested
|
@Nested
|
||||||
@TestMetadata("analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors")
|
@TestMetadata("analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@@ -117,6 +123,12 @@ public class HLImportOptimizerTestGenerated extends AbstractHLImportOptimizerTes
|
|||||||
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedInvokeOperator_invalidArguments.kt");
|
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedInvokeOperator_invalidArguments.kt");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@TestMetadata("usedTypeAsTypeParameter_missingOuterType.kt")
|
||||||
|
public void testUsedTypeAsTypeParameter_missingOuterType() throws Exception {
|
||||||
|
runTest("analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors/usedTypeAsTypeParameter_missingOuterType.kt");
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@TestMetadata("usedTypeImport_missingGeneric.kt")
|
@TestMetadata("usedTypeImport_missingGeneric.kt")
|
||||||
public void testUsedTypeImport_missingGeneric() throws Exception {
|
public void testUsedTypeImport_missingGeneric() throws Exception {
|
||||||
|
|||||||
+13
@@ -0,0 +1,13 @@
|
|||||||
|
// FILE: main.kt
|
||||||
|
package test
|
||||||
|
|
||||||
|
import dependency.Bar
|
||||||
|
|
||||||
|
//class WithGeneric<T>
|
||||||
|
|
||||||
|
fun usage(p: WithGeneric<Bar>) {}
|
||||||
|
|
||||||
|
// FILE: dependency.kt
|
||||||
|
package dependency
|
||||||
|
|
||||||
|
class Bar
|
||||||
Vendored
+13
@@ -0,0 +1,13 @@
|
|||||||
|
// FILE: main.kt
|
||||||
|
package test
|
||||||
|
|
||||||
|
import dependency.Bar
|
||||||
|
|
||||||
|
class WithGeneric<T>
|
||||||
|
|
||||||
|
fun usage(p: WithGeneric<Bar>) {}
|
||||||
|
|
||||||
|
// FILE: dependency.kt
|
||||||
|
package dependency
|
||||||
|
|
||||||
|
class Bar
|
||||||
Reference in New Issue
Block a user