[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,
|
||||
KtReferenceResolveMixIn,
|
||||
KtReferenceShortenerMixIn,
|
||||
KtImportOptimizerMixIn,
|
||||
KtSymbolDeclarationRendererMixIn,
|
||||
KtVisibilityCheckerMixIn,
|
||||
KtMemberSymbolProviderMixin,
|
||||
@@ -88,6 +89,9 @@ public abstract class KtAnalysisSession(final override val token: ValidityToken)
|
||||
internal val referenceShortener: KtReferenceShortener get() = referenceShortenerImpl
|
||||
protected abstract val referenceShortenerImpl: KtReferenceShortener
|
||||
|
||||
internal val importOptimizer: KtImportOptimizer get() = importOptimizerImpl
|
||||
protected abstract val importOptimizerImpl: KtImportOptimizer
|
||||
|
||||
internal val symbolDeclarationRendererProvider: KtSymbolDeclarationRendererProvider get() = symbolDeclarationRendererProviderImpl
|
||||
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 importOptimizerImpl: KtImportOptimizer = KtFirImportOptimizer()
|
||||
|
||||
override val symbolDeclarationRendererProviderImpl: KtSymbolDeclarationRendererProvider =
|
||||
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