From da43062a4688bbb7dba4a03369c3281817e00008 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 23 Jun 2022 21:46:54 +0200 Subject: [PATCH] [FIR] do not swallow PCE --- .../AbstractFirDeserializedSymbolProvider.kt | 7 +------ .../org/jetbrains/kotlin/fir/java/FirJavaFacade.kt | 7 +------ .../jetbrains/kotlin/fir/java/JavaSymbolProvider.kt | 7 +------ .../JvmClassFileBasedSymbolProvider.kt | 13 ++----------- 4 files changed, 5 insertions(+), 29 deletions(-) diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolProvider.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolProvider.kt index 01284a1e0bb..dbae14731f7 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolProvider.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/AbstractFirDeserializedSymbolProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.deserialization -import com.intellij.openapi.progress.ProcessCanceledException import org.jetbrains.kotlin.fir.FirModuleData import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.caches.FirCache @@ -116,11 +115,7 @@ abstract class AbstractFirDeserializedSymbolProvider( } private fun tryComputePackagePartInfos(packageFqName: FqName): List { - return try { - computePackagePartsInfos(packageFqName) - } catch (e: ProcessCanceledException) { - emptyList() - } + return computePackagePartsInfos(packageFqName) } private fun findAndDeserializeTypeAlias(classId: ClassId): FirTypeAliasSymbol? { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt index 5bb63b9fd77..7cc7dddfadd 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/FirJavaFacade.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.java -import com.intellij.openapi.progress.ProcessCanceledException import org.jetbrains.kotlin.KtFakeSourceElement import org.jetbrains.kotlin.KtFakeSourceElementKind import org.jetbrains.kotlin.builtins.jvm.JavaToKotlinClassMap @@ -89,11 +88,7 @@ abstract class FirJavaFacade( ?.takeIf { it.classId == classId && !it.hasMetadataAnnotation() } fun getPackage(fqName: FqName): FqName? = - try { - packageCache.getValue(fqName)?.fqName - } catch (e: ProcessCanceledException) { - null - } + packageCache.getValue(fqName)?.fqName fun hasTopLevelClassOf(classId: ClassId): Boolean { val knownNames = knownClassNamesInPackage.getValue(classId.packageFqName) ?: return true diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index ba65a00cb78..c29e3542105 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.java -import com.intellij.openapi.progress.ProcessCanceledException import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.caches.firCachesFactory import org.jetbrains.kotlin.fir.resolve.providers.FirSymbolProvider @@ -44,11 +43,7 @@ class JavaSymbolProvider( javaFacade.getPackage(fqName) override fun getClassLikeSymbolByClassId(classId: ClassId): FirRegularClassSymbol? = - try { - if (javaFacade.hasTopLevelClassOf(classId)) getFirJavaClass(classId) else null - } catch (e: ProcessCanceledException) { - null - } + if (javaFacade.hasTopLevelClassOf(classId)) getFirJavaClass(classId) else null private fun getFirJavaClass(classId: ClassId): FirRegularClassSymbol? = classCache.getValue(classId, classId.outerClassId?.let { getFirJavaClass(it) }) diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmClassFileBasedSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmClassFileBasedSymbolProvider.kt index a49258a523f..fe813cfde38 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmClassFileBasedSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/JvmClassFileBasedSymbolProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.fir.java.deserialization -import com.intellij.openapi.progress.ProcessCanceledException import org.jetbrains.kotlin.descriptors.SourceElement import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.ThreadSafeMutableState @@ -99,11 +98,7 @@ class JvmClassFileBasedSymbolProvider( get() = classHeader.isPreRelease private fun loadJavaClass(classId: ClassId, content: ByteArray?): ClassMetadataFindResult? { - val javaClass = try { - javaFacade.findClass(classId, content) ?: return null - } catch (e: ProcessCanceledException) { - return null - } + val javaClass = javaFacade.findClass(classId, content) ?: return null return ClassMetadataFindResult.NoMetadata { symbol -> javaFacade.convertJavaClassToFir(symbol, classId.outerClassId?.let(::getClass), javaClass) } @@ -113,11 +108,7 @@ class JvmClassFileBasedSymbolProvider( // Kotlin classes are annotated Java classes, so this check also looks for them. if (!javaFacade.hasTopLevelClassOf(classId)) return null - val result = try { - kotlinClassFinder.findKotlinClassOrContent(classId) - } catch (e: ProcessCanceledException) { - return null - } + val result = kotlinClassFinder.findKotlinClassOrContent(classId) val kotlinClass = when (result) { is KotlinClassFinder.Result.KotlinClass -> result.kotlinJvmBinaryClass is KotlinClassFinder.Result.ClassFileContent -> return loadJavaClass(classId, result.content)