From 0fb3c033e756f0d66a3c0ab9438e83ebf57a96e8 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Wed, 20 Sep 2023 22:37:24 +0200 Subject: [PATCH] [Analysis API FE10] introduce an exception which marks some parts of the Analysis API as not supported for K1 --- .../api/descriptors/KtFe10AnalysisSession.kt | 5 +++-- .../analysis/api/NotSupportedForK1Exception.kt | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/NotSupportedForK1Exception.kt diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/KtFe10AnalysisSession.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/KtFe10AnalysisSession.kt index 3b0999dd9cb..43bf689ece7 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/KtFe10AnalysisSession.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/KtFe10AnalysisSession.kt @@ -10,6 +10,7 @@ import com.intellij.psi.search.GlobalSearchScope import org.jetbrains.kotlin.analysis.api.KtAnalysisApiInternals import org.jetbrains.kotlin.analysis.api.KtAnalysisNonPublicApi import org.jetbrains.kotlin.analysis.api.KtAnalysisSession +import org.jetbrains.kotlin.analysis.api.NotSupportedForK1Exception import org.jetbrains.kotlin.analysis.api.components.* import org.jetbrains.kotlin.analysis.api.descriptors.components.* import org.jetbrains.kotlin.analysis.api.impl.base.components.KtAnalysisScopeProviderImpl @@ -73,11 +74,11 @@ class KtFe10AnalysisSession( override val compilerFacilityImpl: KtCompilerFacility = KtFe10CompilerFacility(this) override val metadataCalculatorImpl: KtMetadataCalculator - get() = throw UnsupportedOperationException() + get() = throw NotSupportedForK1Exception() @Suppress("AnalysisApiMissingLifetimeCheck") override val substitutorProviderImpl: KtSubstitutorProvider - get() = throw UnsupportedOperationException() + get() = throw NotSupportedForK1Exception() override fun createContextDependentCopy(originalKtFile: KtFile, elementToReanalyze: KtElement): KtAnalysisSession = KtFe10AnalysisSession(originalKtFile.project, elementToReanalyze, token) diff --git a/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/NotSupportedForK1Exception.kt b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/NotSupportedForK1Exception.kt new file mode 100644 index 00000000000..41ad91f1da0 --- /dev/null +++ b/analysis/analysis-api/src/org/jetbrains/kotlin/analysis/api/NotSupportedForK1Exception.kt @@ -0,0 +1,12 @@ +/* + * 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 + + +/** + * Exception indicating that a certain operation is not supported for the K1 version of Analysis API + */ +public class NotSupportedForK1Exception : UnsupportedOperationException() \ No newline at end of file