From 837eb739ea874a8a5258d6391ee06c86f8e9f7de Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Sun, 21 Feb 2021 13:33:13 +0100 Subject: [PATCH] IR: move CompilationErrorException to frontend.common --- .../src/org/jetbrains/kotlin/cli/common/CLICompiler.kt | 5 ++--- .../kotlin/analyzer/CompilationErrorException.kt | 8 ++++++++ .../src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt | 2 -- .../kotlin/ir/util/ExternalDependenciesGenerator.kt | 4 ++-- .../src/org/jetbrains/kotlin/ir/backend/js/klib.kt | 3 ++- 5 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 compiler/frontend.common/src/org/jetbrains/kotlin/analyzer/CompilationErrorException.kt diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt index 4fe63b2c580..23db4a29d6f 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLICompiler.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.cli.common import com.intellij.openapi.Disposable import com.intellij.openapi.util.Disposer -import org.jetbrains.kotlin.analyzer.AnalysisResult +import org.jetbrains.kotlin.analyzer.CompilationErrorException import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY import org.jetbrains.kotlin.cli.common.ExitCode.COMPILATION_ERROR import org.jetbrains.kotlin.cli.common.ExitCode.INTERNAL_ERROR @@ -40,7 +40,6 @@ import org.jetbrains.kotlin.utils.KotlinPaths import org.jetbrains.kotlin.utils.PathUtil import java.io.File import java.io.PrintStream -import java.util.* abstract class CLICompiler : CLITool() { @@ -117,7 +116,7 @@ abstract class CLICompiler : CLITool() { } finally { Disposer.dispose(rootDisposable) } - } catch (e: AnalysisResult.CompilationErrorException) { + } catch (e: CompilationErrorException) { return COMPILATION_ERROR } catch (t: Throwable) { MessageCollectorUtil.reportException(collector, t) diff --git a/compiler/frontend.common/src/org/jetbrains/kotlin/analyzer/CompilationErrorException.kt b/compiler/frontend.common/src/org/jetbrains/kotlin/analyzer/CompilationErrorException.kt new file mode 100644 index 00000000000..120bad59d58 --- /dev/null +++ b/compiler/frontend.common/src/org/jetbrains/kotlin/analyzer/CompilationErrorException.kt @@ -0,0 +1,8 @@ +/* + * 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.analyzer + +class CompilationErrorException : RuntimeException() diff --git a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt index e8c7a5001f4..aabe7d94e43 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/analyzer/AnalysisResult.kt @@ -58,8 +58,6 @@ open class AnalysisResult protected constructor( } } - class CompilationErrorException : RuntimeException() - private class CompilationError(bindingContext: BindingContext) : AnalysisResult(bindingContext, ErrorUtils.getErrorModule()) private class InternalError( diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt index ff4ee5d322c..b68d078d741 100644 --- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt +++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/util/ExternalDependenciesGenerator.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.ir.util -import org.jetbrains.kotlin.analyzer.AnalysisResult +import org.jetbrains.kotlin.analyzer.CompilationErrorException import org.jetbrains.kotlin.descriptors.ModuleDescriptor import org.jetbrains.kotlin.ir.declarations.IrDeclaration import org.jetbrains.kotlin.ir.descriptors.IrBuiltIns @@ -54,7 +54,7 @@ class ExternalDependenciesGenerator( // We wait for the unbound to stabilize on fake overrides. } while (unbound != prevUnbound) } catch (ex: KotlinIrLinkerInternalException) { - throw AnalysisResult.CompilationErrorException() + throw CompilationErrorException() } } } diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt index 345655dd414..4d7aa007eea 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt @@ -10,6 +10,7 @@ import com.intellij.openapi.vfs.VfsUtilCore import com.intellij.psi.PsiElement import org.jetbrains.kotlin.analyzer.AbstractAnalyzerWithCompilerReport import org.jetbrains.kotlin.analyzer.AnalysisResult +import org.jetbrains.kotlin.analyzer.CompilationErrorException import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension import org.jetbrains.kotlin.backend.common.extensions.IrPluginContextImpl import org.jetbrains.kotlin.backend.common.lower.ExpectDeclarationRemover @@ -414,7 +415,7 @@ private class ModulesStructure( var hasErrors = false if (analyzer.hasErrors() || analysisResult !is JsAnalysisResult) { if (!errorPolicy.allowErrors) - throw AnalysisResult.CompilationErrorException() + throw CompilationErrorException() else hasErrors = true }