[FIR IDE] Add KtImportOptimizer mixin and FIR implementation
Does nothing for now
This commit is contained in:
@@ -48,6 +48,7 @@ public abstract class KtAnalysisSession(final override val token: ValidityToken)
|
|||||||
KtSymbolsMixIn,
|
KtSymbolsMixIn,
|
||||||
KtReferenceResolveMixIn,
|
KtReferenceResolveMixIn,
|
||||||
KtReferenceShortenerMixIn,
|
KtReferenceShortenerMixIn,
|
||||||
|
KtImportOptimizerMixIn,
|
||||||
KtSymbolDeclarationRendererMixIn,
|
KtSymbolDeclarationRendererMixIn,
|
||||||
KtVisibilityCheckerMixIn,
|
KtVisibilityCheckerMixIn,
|
||||||
KtMemberSymbolProviderMixin,
|
KtMemberSymbolProviderMixin,
|
||||||
@@ -88,6 +89,9 @@ public abstract class KtAnalysisSession(final override val token: ValidityToken)
|
|||||||
internal val referenceShortener: KtReferenceShortener get() = referenceShortenerImpl
|
internal val referenceShortener: KtReferenceShortener get() = referenceShortenerImpl
|
||||||
protected abstract val referenceShortenerImpl: KtReferenceShortener
|
protected abstract val referenceShortenerImpl: KtReferenceShortener
|
||||||
|
|
||||||
|
internal val importOptimizer: KtImportOptimizer get() = importOptimizerImpl
|
||||||
|
protected abstract val importOptimizerImpl: KtImportOptimizer
|
||||||
|
|
||||||
internal val symbolDeclarationRendererProvider: KtSymbolDeclarationRendererProvider get() = symbolDeclarationRendererProviderImpl
|
internal val symbolDeclarationRendererProvider: KtSymbolDeclarationRendererProvider get() = symbolDeclarationRendererProviderImpl
|
||||||
protected abstract val symbolDeclarationRendererProviderImpl: KtSymbolDeclarationRendererProvider
|
protected abstract val symbolDeclarationRendererProviderImpl: KtSymbolDeclarationRendererProvider
|
||||||
|
|
||||||
|
|||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.frontend.api.components
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
import org.jetbrains.kotlin.psi.KtImportDirective
|
||||||
|
|
||||||
|
public abstract class KtImportOptimizer {
|
||||||
|
public abstract fun analyseImports(file: KtFile): KtImportOptimizerResult
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface KtImportOptimizerMixIn : KtAnalysisSessionMixIn {
|
||||||
|
public fun analyseImports(file: KtFile): KtImportOptimizerResult {
|
||||||
|
return analysisSession.importOptimizer.analyseImports(file)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class KtImportOptimizerResult(
|
||||||
|
public val unusedImports: Set<KtImportDirective>,
|
||||||
|
)
|
||||||
+2
@@ -64,6 +64,8 @@ private constructor(
|
|||||||
|
|
||||||
override val referenceShortenerImpl = KtFirReferenceShortener(this, token, firResolveState)
|
override val referenceShortenerImpl = KtFirReferenceShortener(this, token, firResolveState)
|
||||||
|
|
||||||
|
override val importOptimizerImpl: KtImportOptimizer = KtFirImportOptimizer()
|
||||||
|
|
||||||
override val symbolDeclarationRendererProviderImpl: KtSymbolDeclarationRendererProvider =
|
override val symbolDeclarationRendererProviderImpl: KtSymbolDeclarationRendererProvider =
|
||||||
KtFirSymbolDeclarationRendererProvider(this, token)
|
KtFirSymbolDeclarationRendererProvider(this, token)
|
||||||
|
|
||||||
|
|||||||
+16
@@ -0,0 +1,16 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.frontend.api.fir.components
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.idea.frontend.api.components.KtImportOptimizer
|
||||||
|
import org.jetbrains.kotlin.idea.frontend.api.components.KtImportOptimizerResult
|
||||||
|
import org.jetbrains.kotlin.psi.KtFile
|
||||||
|
|
||||||
|
internal class KtFirImportOptimizer : KtImportOptimizer() {
|
||||||
|
override fun analyseImports(file: KtFile): KtImportOptimizerResult {
|
||||||
|
return KtImportOptimizerResult(emptySet())
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user