[FIR] Fix anonymous object handling as 'this' receiver

This commit is contained in:
Jinseong Jeon
2020-03-27 00:06:56 -07:00
committed by Mikhail Glukhikh
parent c8206c4666
commit 4388b30f87
19 changed files with 12 additions and 25 deletions
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.fir.scopes.impl.FirIntegerOperator
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.types.FirTypeRef
import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitor
@@ -286,7 +285,7 @@ class Fir2IrVisitor(
override fun visitThisReceiverExpression(thisReceiverExpression: FirThisReceiverExpression, data: Any?): IrElement {
val calleeReference = thisReceiverExpression.calleeReference
if (calleeReference.labelName == null && calleeReference.boundSymbol is FirRegularClassSymbol) {
if (calleeReference.labelName == null && calleeReference.boundSymbol is FirClassSymbol) {
// Object case
val firObject = (calleeReference.boundSymbol?.fir as? FirClass)?.takeIf {
it is FirAnonymousObject || it is FirRegularClass && it.classKind == ClassKind.OBJECT