[FIR] ReturnTypeCalculator: replace !! with useful exception
^KT-64196
This commit is contained in:
+7
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Copyright 2010-2023 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.
|
||||
*/
|
||||
|
||||
@@ -9,6 +9,8 @@ import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.scopes.CallableCopyTypeCalculator
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.utils.exceptions.withFirEntry
|
||||
import org.jetbrains.kotlin.utils.exceptions.errorWithAttachment
|
||||
|
||||
abstract class ReturnTypeCalculator {
|
||||
abstract val callableCopyTypeCalculator: CallableCopyTypeCalculator
|
||||
@@ -16,7 +18,10 @@ abstract class ReturnTypeCalculator {
|
||||
abstract fun tryCalculateReturnTypeOrNull(declaration: FirCallableDeclaration): FirResolvedTypeRef?
|
||||
|
||||
fun tryCalculateReturnType(declaration: FirCallableDeclaration): FirResolvedTypeRef {
|
||||
return tryCalculateReturnTypeOrNull(declaration)!!
|
||||
return tryCalculateReturnTypeOrNull(declaration)
|
||||
?: errorWithAttachment("Return type cannot be calculated for ${declaration::class.simpleName}") {
|
||||
withFirEntry("declaration", declaration)
|
||||
}
|
||||
}
|
||||
|
||||
fun tryCalculateReturnType(symbol: FirCallableSymbol<*>): FirResolvedTypeRef {
|
||||
|
||||
Reference in New Issue
Block a user