251827c9aa
This fixes some type argument mismatch errors caused by a captured type being approximated and then captured again. Some places need to be adapted to work with captured types that previously only worked with approximated types. #KT-62959 Fixed
18 lines
500 B
Kotlin
Vendored
18 lines
500 B
Kotlin
Vendored
// FIR_IDENTICAL
|
|
|
|
abstract class FirBasedSymbol<E : FirDeclaration> {
|
|
val fir: E get() = null!!
|
|
}
|
|
abstract class FirCallableSymbol<D : FirCallableDeclaration> : FirBasedSymbol<D>()
|
|
|
|
sealed class FirDeclaration
|
|
sealed class FirCallableDeclaration : FirDeclaration()
|
|
|
|
class FirFunction : FirCallableDeclaration()
|
|
class FirVariable : FirCallableDeclaration()
|
|
|
|
val FirCallableSymbol<*>.isExtension: Boolean
|
|
get() = when (fir) {
|
|
is FirFunction -> true
|
|
is FirVariable -> false
|
|
} |