[Analysis API] Allow obtaining original for fake declaration/file

It is required to remove dependency on low-level API from completion
This commit is contained in:
aleksandrina-streltsova
2023-03-09 16:30:50 +02:00
committed by teamcity
parent 6d3b911dfc
commit 3c8531aad8
6 changed files with 109 additions and 0 deletions
@@ -53,6 +53,7 @@ class KtFe10AnalysisSession(
override val visibilityCheckerImpl: KtVisibilityChecker = KtFe10VisibilityChecker(this)
override val overrideInfoProviderImpl: KtOverrideInfoProvider = KtFe10OverrideInfoProvider(this)
override val multiplatformInfoProviderImpl: KtMultiplatformInfoProvider = KtFe10MultiplatformInfoProvider(this)
override val originalPsiProviderImpl: KtOriginalPsiProvider = KtFe10OriginalPsiProvider(this)
override val inheritorsProviderImpl: KtInheritorsProvider = KtFe10InheritorsProvider(this)
override val typesCreatorImpl: KtTypeCreator = KtFe10TypeCreator(this)
override val samResolverImpl: KtSamResolver = KtFe10SamResolver(this)
@@ -0,0 +1,24 @@
/*
* Copyright 2010-2023 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.analysis.api.descriptors.components
import org.jetbrains.kotlin.analysis.api.components.KtOriginalPsiProvider
import org.jetbrains.kotlin.analysis.api.descriptors.KtFe10AnalysisSession
import org.jetbrains.kotlin.analysis.api.descriptors.components.base.Fe10KtAnalysisSessionComponent
import org.jetbrains.kotlin.psi.KtDeclaration
import org.jetbrains.kotlin.psi.KtFile
internal class KtFe10OriginalPsiProvider(
override val analysisSession: KtFe10AnalysisSession
) : KtOriginalPsiProvider(), Fe10KtAnalysisSessionComponent {
override fun getOriginalDeclaration(declaration: KtDeclaration): KtDeclaration? = null
override fun getOriginalKtFile(file: KtFile): KtFile? = null
override fun recordOriginalDeclaration(fakeDeclaration: KtDeclaration, originalDeclaration: KtDeclaration) {}
override fun recordOriginalKtFile(fakeFile: KtFile, originalFile: KtFile) {}
}