FIR2IR: set dispatch receiver for companion member reference

#KT-42132 fixed
This commit is contained in:
Jinseong Jeon
2020-09-24 23:13:33 -07:00
committed by Mikhail Glukhikh
parent 01d852c006
commit 3151fc8577
4 changed files with 39 additions and 10 deletions
@@ -6,7 +6,9 @@
package org.jetbrains.kotlin.fir.symbols.impl
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
import org.jetbrains.kotlin.fir.declarations.FirFunction
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.symbols.AbstractFirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.CallableId
@@ -21,6 +23,13 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration<D>> : AbstractFirBas
val FirCallableSymbol<*>.isStatic: Boolean get() = (fir as? FirMemberDeclaration)?.status?.isStatic == true
val FirCallableSymbol<*>.isExtension: Boolean
get() = when (fir) {
is FirFunction -> fir.receiverTypeRef != null
is FirProperty -> fir.receiverTypeRef != null
else -> false
}
inline fun <reified E : FirCallableSymbol<*>> E.unwrapSubstitutionOverrides(): E {
var current = this
while (current.overriddenSymbol != null) {