JVM IR: Don't produce annotations on builtin stub, toArray, and bridge methods
This commit is contained in:
committed by
Alexander Udalov
parent
f661b7604b
commit
c16b548dff
@@ -51,4 +51,5 @@ interface JvmLoweredDeclarationOrigin : IrDeclarationOrigin {
|
|||||||
object CONTINUATION_CLASS_RESULT_FIELD: IrDeclarationOriginImpl("CONTINUATION_CLASS_RESULT_FIELD", isSynthetic = true)
|
object CONTINUATION_CLASS_RESULT_FIELD: IrDeclarationOriginImpl("CONTINUATION_CLASS_RESULT_FIELD", isSynthetic = true)
|
||||||
object COMPANION_PROPERTY_BACKING_FIELD : IrDeclarationOriginImpl("COMPANION_MOVED_PROPERTY_BACKING_FIELD")
|
object COMPANION_PROPERTY_BACKING_FIELD : IrDeclarationOriginImpl("COMPANION_MOVED_PROPERTY_BACKING_FIELD")
|
||||||
object FIELD_FOR_STATIC_LAMBDA_INSTANCE : IrDeclarationOriginImpl("FIELD_FOR_STATIC_LAMBDA_INSTANCE")
|
object FIELD_FOR_STATIC_LAMBDA_INSTANCE : IrDeclarationOriginImpl("FIELD_FOR_STATIC_LAMBDA_INSTANCE")
|
||||||
|
object ABSTRACT_BRIDGE_STUB : IrDeclarationOriginImpl("ABSTRACT_BRIDGE_STUB")
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-1
@@ -72,7 +72,12 @@ class FunctionCodegen(
|
|||||||
if (irFunction.origin != IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER &&
|
if (irFunction.origin != IrDeclarationOrigin.FUNCTION_FOR_DEFAULT_PARAMETER &&
|
||||||
irFunction.origin != JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR &&
|
irFunction.origin != JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR &&
|
||||||
irFunction.origin != IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER &&
|
irFunction.origin != IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER &&
|
||||||
irFunction.origin != IrDeclarationOrigin.GENERATED_INLINE_CLASS_MEMBER
|
irFunction.origin != IrDeclarationOrigin.GENERATED_INLINE_CLASS_MEMBER &&
|
||||||
|
irFunction.origin != IrDeclarationOrigin.BRIDGE &&
|
||||||
|
irFunction.origin != IrDeclarationOrigin.BRIDGE_SPECIAL &&
|
||||||
|
irFunction.origin != JvmLoweredDeclarationOrigin.ABSTRACT_BRIDGE_STUB &&
|
||||||
|
irFunction.origin != JvmLoweredDeclarationOrigin.TO_ARRAY &&
|
||||||
|
irFunction.origin != IrDeclarationOrigin.IR_BUILTINS_STUB
|
||||||
) {
|
) {
|
||||||
val skipNullabilityAnnotations = flags and Opcodes.ACC_PRIVATE != 0 || flags and Opcodes.ACC_SYNTHETIC != 0
|
val skipNullabilityAnnotations = flags and Opcodes.ACC_PRIVATE != 0 || flags and Opcodes.ACC_SYNTHETIC != 0
|
||||||
object : AnnotationCodegen(classCodegen, context, skipNullabilityAnnotations) {
|
object : AnnotationCodegen(classCodegen, context, skipNullabilityAnnotations) {
|
||||||
|
|||||||
+1
-1
@@ -338,7 +338,7 @@ private class BridgeLowering(val context: JvmBackendContext) : FileLoweringPass,
|
|||||||
addFunction {
|
addFunction {
|
||||||
updateFrom(irFunction)
|
updateFrom(irFunction)
|
||||||
modality = Modality.ABSTRACT
|
modality = Modality.ABSTRACT
|
||||||
origin = IrDeclarationOrigin.DEFINED
|
origin = JvmLoweredDeclarationOrigin.ABSTRACT_BRIDGE_STUB
|
||||||
name = irFunction.name
|
name = irFunction.name
|
||||||
returnType = irFunction.returnType
|
returnType = irFunction.returnType
|
||||||
isFakeOverride = false
|
isFakeOverride = false
|
||||||
|
|||||||
Reference in New Issue
Block a user