FIR2IR: set "external stub" origin for external enum entries
This commit is contained in:
+5
-1
@@ -967,7 +967,11 @@ class Fir2IrDeclarationStorage(
|
|||||||
fun getIrValueSymbol(firVariableSymbol: FirVariableSymbol<*>): IrSymbol {
|
fun getIrValueSymbol(firVariableSymbol: FirVariableSymbol<*>): IrSymbol {
|
||||||
return when (val firDeclaration = firVariableSymbol.fir) {
|
return when (val firDeclaration = firVariableSymbol.fir) {
|
||||||
is FirEnumEntry -> {
|
is FirEnumEntry -> {
|
||||||
val irEnumEntry = getIrEnumEntry(firDeclaration)
|
val containingFile = firProvider.getFirCallableContainerFile(firVariableSymbol)
|
||||||
|
val irEnumEntry = getIrEnumEntry(
|
||||||
|
firDeclaration,
|
||||||
|
origin = if (containingFile == null) IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB else IrDeclarationOrigin.DEFINED
|
||||||
|
)
|
||||||
irSymbolTable.referenceEnumEntry(irEnumEntry.descriptor)
|
irSymbolTable.referenceEnumEntry(irEnumEntry.descriptor)
|
||||||
}
|
}
|
||||||
is FirValueParameter -> {
|
is FirValueParameter -> {
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@ FILE fqName:test fileName:/fileAnnotations.kt
|
|||||||
A(x = 'File annotation')
|
A(x = 'File annotation')
|
||||||
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
|
CLASS ANNOTATION_CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Annotation]
|
||||||
annotations:
|
annotations:
|
||||||
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY name:FILE' type=kotlin.annotation.AnnotationTarget)
|
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:FILE' type=kotlin.annotation.AnnotationTarget)
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test.A
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:test.A
|
||||||
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A [primary]
|
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:test.A [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
FILE fqName:<root> fileName:/typeAliasesWithAnnotations.kt
|
FILE fqName:<root> fileName:/typeAliasesWithAnnotations.kt
|
||||||
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
|
CLASS ANNOTATION_CLASS name:TestAnn modality:FINAL visibility:public superTypes:[kotlin.Annotation]
|
||||||
annotations:
|
annotations:
|
||||||
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget)
|
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPEALIAS' type=kotlin.annotation.AnnotationTarget)
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.TestAnn
|
||||||
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
|
CONSTRUCTOR visibility:public <> (x:kotlin.String) returnType:<root>.TestAnn [primary]
|
||||||
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
VALUE_PARAMETER name:x index:0 type:kotlin.String
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
FILE fqName:<root> fileName:/typeParametersWithAnnotations.kt
|
FILE fqName:<root> fileName:/typeParametersWithAnnotations.kt
|
||||||
CLASS ANNOTATION_CLASS name:Anno modality:FINAL visibility:public superTypes:[kotlin.Annotation]
|
CLASS ANNOTATION_CLASS name:Anno modality:FINAL visibility:public superTypes:[kotlin.Annotation]
|
||||||
annotations:
|
annotations:
|
||||||
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget)
|
Target(allowedTargets = GET_ENUM 'ENUM_ENTRY IR_EXTERNAL_DECLARATION_STUB name:TYPE_PARAMETER' type=kotlin.annotation.AnnotationTarget)
|
||||||
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Anno
|
$this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Anno
|
||||||
CONSTRUCTOR visibility:public <> () returnType:<root>.Anno [primary]
|
CONSTRUCTOR visibility:public <> () returnType:<root>.Anno [primary]
|
||||||
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
|
||||||
|
|||||||
Reference in New Issue
Block a user