[FIR] Fix reporting of UNINITIALIZED_ENUM_ENTRY in init blocks

^KT-41126 Fixed
This commit is contained in:
Dmitriy Novozhilov
2023-02-07 14:17:10 +02:00
committed by Space Team
parent c596c1ad73
commit a9248569a6
17 changed files with 135 additions and 110 deletions
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousInitializerSymbol
import org.jetbrains.kotlin.fir.types.ConeSimpleKotlinType
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.visitors.*
/*
@@ -30,7 +30,7 @@ abstract class FirAnonymousInitializer : FirDeclaration(), FirControlFlowGraphOw
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
abstract val body: FirBlock?
abstract override val symbol: FirAnonymousInitializerSymbol
abstract val dispatchReceiverType: ConeSimpleKotlinType?
abstract val dispatchReceiverType: ConeClassLikeType?
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitAnonymousInitializer(this, data)
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousInitializerSymbol
import org.jetbrains.kotlin.fir.types.ConeSimpleKotlinType
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.visitors.*
/*
@@ -40,7 +40,7 @@ class FirAnonymousInitializerBuilder : FirDeclarationBuilder, FirAnnotationConta
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
var body: FirBlock? = null
var symbol: FirAnonymousInitializerSymbol = FirAnonymousInitializerSymbol()
var dispatchReceiverType: ConeSimpleKotlinType? = null
var dispatchReceiverType: ConeClassLikeType? = null
override fun build(): FirAnonymousInitializer {
return FirAnonymousInitializerImpl(
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotation
import org.jetbrains.kotlin.fir.expressions.FirBlock
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousInitializerSymbol
import org.jetbrains.kotlin.fir.types.ConeSimpleKotlinType
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.fir.visitors.*
import org.jetbrains.kotlin.fir.MutableOrEmptyList
import org.jetbrains.kotlin.fir.builder.toMutableOrEmpty
@@ -36,7 +36,7 @@ internal class FirAnonymousInitializerImpl(
override val attributes: FirDeclarationAttributes,
override var body: FirBlock?,
override val symbol: FirAnonymousInitializerSymbol,
override val dispatchReceiverType: ConeSimpleKotlinType?,
override val dispatchReceiverType: ConeClassLikeType?,
) : FirAnonymousInitializer() {
override val annotations: List<FirAnnotation> get() = emptyList()
override var controlFlowGraphReference: FirControlFlowGraphReference? = null