diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/AnalyzerWithCompilerReport.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/AnalyzerWithCompilerReport.kt index 008bda90999..03d501013fc 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/AnalyzerWithCompilerReport.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/messages/AnalyzerWithCompilerReport.kt @@ -45,12 +45,10 @@ import java.util.* class AnalyzerWithCompilerReport(collector: MessageCollector) { private val messageCollector: MessageSeverityCollector = MessageSeverityCollector(collector) - var analysisResult: AnalysisResult? = null - private set + lateinit var analysisResult: AnalysisResult private fun reportIncompleteHierarchies() { - assert(analysisResult != null) - val bindingContext = analysisResult!!.bindingContext + val bindingContext = analysisResult.bindingContext val classes = bindingContext.getKeys(TraceBasedErrorReporter.INCOMPLETE_HIERARCHY) if (!classes.isEmpty()) { val message = StringBuilder("Supertypes of the following classes cannot be resolved. " + "Please make sure you have the required dependencies in the classpath:\n") @@ -65,8 +63,7 @@ class AnalyzerWithCompilerReport(collector: MessageCollector) { } private fun reportAlternativeSignatureErrors() { - assert(analysisResult != null) - val bc = analysisResult!!.bindingContext + val bc = analysisResult.bindingContext val descriptorsWithErrors = bc.getKeys(JavaBindingContext.LOAD_FROM_JAVA_SIGNATURE_ERRORS) if (!descriptorsWithErrors.isEmpty()) { val message = StringBuilder("The following Java entities have annotations with wrong Kotlin signatures:\n") @@ -90,8 +87,7 @@ class AnalyzerWithCompilerReport(collector: MessageCollector) { private val abiVersionErrors: List get() { - assert(analysisResult != null) - val bindingContext = analysisResult!!.bindingContext + val bindingContext = analysisResult.bindingContext val errorClasses = bindingContext.getKeys(TraceBasedErrorReporter.METADATA_VERSION_ERRORS) val result = ArrayList(errorClasses.size) @@ -120,11 +116,11 @@ class AnalyzerWithCompilerReport(collector: MessageCollector) { return messageCollector.anyReported(CompilerMessageSeverity.ERROR) } - fun analyzeAndReport(files: Collection, analyzer: Function0) { + fun analyzeAndReport(files: Collection, analyzer: () -> AnalysisResult) { analysisResult = analyzer.invoke() reportSyntaxErrors(files) val abiVersionErrors = abiVersionErrors - reportDiagnostics(analysisResult!!.bindingContext.diagnostics, messageCollector, !abiVersionErrors.isEmpty()) + reportDiagnostics(analysisResult.bindingContext.diagnostics, messageCollector, !abiVersionErrors.isEmpty()) if (hasErrors()) { reportMetadataVersionErrors(abiVersionErrors) } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt index ee8ffae4ad0..2996bb0f0fb 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt @@ -291,9 +291,8 @@ object KotlinToJVMBytecodeCompiler { K2JVMCompiler.reportPerf(environment.configuration, message) val result = analyzerWithCompilerReport.analysisResult - assert(result != null) { "AnalysisResult should be non-null, compiling: " + environment.getSourceFiles() } - val context = CompilerPluginContext(environment.project, result!!.bindingContext, + val context = CompilerPluginContext(environment.project, result.bindingContext, environment.getSourceFiles()) for (plugin in environment.configuration.getList(CLIConfigurationKeys.COMPILER_PLUGINS)) { plugin.processFiles(context)