From fe8bf98bce7ed4aa413755ff0c37fff272871532 Mon Sep 17 00:00:00 2001 From: Mikhail Zarechenskiy Date: Wed, 17 Apr 2019 23:09:45 +0300 Subject: [PATCH] Fix project compilation against bootstrap compiler Follow-up of 705a8a22, there were several usages of SAM conversions for Kotlin functions --- .../org/jetbrains/kotlin/checkers/utils/CheckerTestUtil.kt | 6 +++--- .../jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt | 5 +++-- .../org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/CheckerTestUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/CheckerTestUtil.kt index e940a6837d0..7fbdd828fe9 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/CheckerTestUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/checkers/utils/CheckerTestUtil.kt @@ -418,7 +418,7 @@ object CheckerTestUtil { psiFile, diagnostics, emptyMap(), - { it.text }, + com.intellij.util.Function { it.text }, emptyList(), false, false @@ -565,9 +565,9 @@ object CheckerTestUtil { ): List { val validDiagnostics = diagnostics.filter { actualDiagnostic -> actualDiagnostic.diagnostic.isValid } val diagnosticDescriptors = groupDiagnosticsByTextRange(validDiagnostics, uncheckedDiagnostics) - diagnosticDescriptors.sortWith { d1: AbstractDiagnosticDescriptor, d2: AbstractDiagnosticDescriptor -> + diagnosticDescriptors.sortWith(Comparator { d1: AbstractDiagnosticDescriptor, d2: AbstractDiagnosticDescriptor -> if (d1.start != d2.start) d1.start - d2.start else d2.end - d1.end - } + }) return diagnosticDescriptors } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt index c798e565253..83869e64c89 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/FunctionDescriptorResolver.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.resolve +import com.intellij.openapi.util.ThrowableComputable import com.intellij.psi.PsiElement import org.jetbrains.kotlin.builtins.KotlinBuiltIns import org.jetbrains.kotlin.builtins.getReceiverTypeFromFunctionType @@ -264,9 +265,9 @@ class FunctionDescriptorResolver( if (!isContractsEnabled || !function.mayHaveContract()) return null return LazyContractProvider(storageManager) { - AstLoadingFilter.forceAllowTreeLoading(function.containingFile) { + AstLoadingFilter.forceAllowTreeLoading(function.containingFile, ThrowableComputable { expressionTypingServices.getBodyExpressionType(trace, scope, dataFlowInfo, function, functionDescriptor) - } + }) } } diff --git a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt index 183c7bad9a5..d2aa214ea5f 100644 --- a/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt +++ b/compiler/tests-common/tests/org/jetbrains/kotlin/checkers/BaseDiagnosticsTest.kt @@ -325,7 +325,7 @@ abstract class BaseDiagnosticsTest : KotlinMultiFileTestWithJava file.text }, + com.intellij.util.Function { file -> file.text }, uncheckedDiagnostics, withNewInferenceDirective, renderDiagnosticMessages