FIR2IR: store and convert annotations on enum entry
This commit is contained in:
committed by
Mikhail Glukhikh
parent
a1ffc0b25a
commit
f3475fd098
@@ -10,6 +10,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.*
|
||||
import org.jetbrains.kotlin.fir.backend.generators.AnnotationGenerator
|
||||
import org.jetbrains.kotlin.fir.backend.generators.ClassMemberGenerator
|
||||
import org.jetbrains.kotlin.fir.backend.generators.OperatorExpressionGenerator
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
@@ -55,6 +56,8 @@ class Fir2IrVisitor(
|
||||
private val conversionScope: Fir2IrConversionScope
|
||||
) : Fir2IrComponents by components, FirDefaultVisitor<IrElement, Any?>(), IrGeneratorContextInterface {
|
||||
|
||||
private val annotationGenerator = AnnotationGenerator(this)
|
||||
|
||||
private val integerApproximator = IntegerLiteralTypeApproximationTransformer(
|
||||
session.firSymbolProvider,
|
||||
session.typeContext,
|
||||
@@ -106,9 +109,10 @@ class Fir2IrVisitor(
|
||||
|
||||
override fun visitEnumEntry(enumEntry: FirEnumEntry, data: Any?): IrElement {
|
||||
val irEnumEntry = classifierStorage.getCachedIrEnumEntry(enumEntry)!!
|
||||
annotationGenerator.generate(irEnumEntry, enumEntry)
|
||||
val correspondingClass = irEnumEntry.correspondingClass
|
||||
val initializer = enumEntry.initializer
|
||||
// If then enum entry has its own members, we need to introduce a synthetic class.
|
||||
// If the enum entry has its own members, we need to introduce a synthetic class.
|
||||
if (correspondingClass != null) {
|
||||
declarationStorage.enterScope(irEnumEntry)
|
||||
classifierStorage.putEnumEntryClassInScope(enumEntry, correspondingClass)
|
||||
|
||||
Reference in New Issue
Block a user