diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt index 0049867d2f5..2f38a2caf47 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaOverrideChecker.kt @@ -151,7 +151,7 @@ class JavaOverrideChecker internal constructor( val baseParameterTypes = listOfNotNull(receiverTypeRef) + baseDeclaration.valueParameters.map { it.returnTypeRef } if (overrideCandidate.valueParameters.size != baseParameterTypes.size) return false - val substitutor = buildTypeParametersSubstitutorIfCompatible(overrideCandidate, baseDeclaration) ?: return false + val substitutor = buildTypeParametersSubstitutorIfCompatible(overrideCandidate, baseDeclaration) return overrideCandidate.valueParameters.zip(baseParameterTypes).all { (paramFromJava, baseType) -> isEqualTypes(paramFromJava.returnTypeRef, baseType, substitutor) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirControlFlowStatementsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirControlFlowStatementsResolveTransformer.kt index e74e2070711..7e63da06829 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirControlFlowStatementsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirControlFlowStatementsResolveTransformer.kt @@ -142,22 +142,15 @@ class FirControlFlowStatementsResolveTransformer(transformer: FirBodyResolveTran dataFlowAnalyzer.exitTryMainBlock() tryExpression.transformCatches(this, ResolutionMode.ContextDependent) - var callCompleted = false + var callCompleted: Boolean @Suppress("NAME_SHADOWING") - var result = syntheticCallGenerator.generateCalleeForTryExpression(tryExpression, resolutionContext)?.let { + var result = syntheticCallGenerator.generateCalleeForTryExpression(tryExpression, resolutionContext).let { val expectedTypeRef = data.expectedType val completionResult = callCompleter.completeCall(it, expectedTypeRef) callCompleted = completionResult.callCompleted completionResult.result - } ?: run { - tryExpression.resultType = buildErrorTypeRef { - diagnostic = ConeSimpleDiagnostic("Can't resolve try expression", DiagnosticKind.InferenceError) - } - callCompleted = true - tryExpression } - result = if (result.finallyBlock != null) { result.also { dataFlowAnalyzer.enterFinallyBlock() } .transformFinallyBlock(transformer, ResolutionMode.ContextIndependent)