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) {
|
||||
processTypeRef(resolvedTypeRef)
|
||||
|
||||
resolvedTypeRef.delegatedTypeRef?.accept(this)
|
||||
super.visitTypeRef(resolvedTypeRef)
|
||||
}
|
||||
|
||||
override fun visitErrorTypeRef(errorTypeRef: FirErrorTypeRef) {
|
||||
processTypeRef(errorTypeRef)
|
||||
|
||||
errorTypeRef.delegatedTypeRef?.accept(this)
|
||||
super.visitErrorTypeRef(errorTypeRef)
|
||||
}
|
||||
|
||||
|
||||
+12
@@ -78,6 +78,12 @@ public class HLImportOptimizerTestGenerated extends AbstractHLImportOptimizerTes
|
||||
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
|
||||
@TestMetadata("analysis/analysis-api/testData/components/importOptimizer/analyseImports/referencesWithErrors")
|
||||
@TestDataPath("$PROJECT_ROOT")
|
||||
@@ -117,6 +123,12 @@ public class HLImportOptimizerTestGenerated extends AbstractHLImportOptimizerTes
|
||||
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
|
||||
@TestMetadata("usedTypeImport_missingGeneric.kt")
|
||||
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