JVM_IR: don't generate nullability annotations on synthetic declarations
Fixes KT-36993 and some other related issues.
This commit is contained in:
+1
-1
@@ -277,7 +277,7 @@ abstract class AnnotationCodegen(
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private fun isInvisibleFromTheOutside(declaration: IrDeclaration?): Boolean {
|
private fun isInvisibleFromTheOutside(declaration: IrDeclaration?): Boolean {
|
||||||
if (declaration is IrSimpleFunction && declaration.origin.isSynthetic) {
|
if (declaration != null && declaration.origin.isSynthetic) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
if (declaration is IrDeclarationWithVisibility) {
|
if (declaration is IrDeclarationWithVisibility) {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
// !LANGUAGE: +UseGetterNameForPropertyAnnotationsMethodOnJvm
|
// !LANGUAGE: +UseGetterNameForPropertyAnnotationsMethodOnJvm
|
||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
// !LANGUAGE: -ProperVisibilityForCompanionObjectInstanceField
|
// !LANGUAGE: -ProperVisibilityForCompanionObjectInstanceField
|
||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
|
|
||||||
open class TestProtectedCompanionInClass {
|
open class TestProtectedCompanionInClass {
|
||||||
protected companion object
|
protected companion object
|
||||||
|
|||||||
+3
-3
@@ -4,7 +4,7 @@ final class Controller$multipleSuspensions$1 {
|
|||||||
field L$0: java.lang.Object
|
field L$0: java.lang.Object
|
||||||
field label: int
|
field label: int
|
||||||
synthetic field result: java.lang.Object
|
synthetic field result: java.lang.Object
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field this$0: Controller
|
synthetic final field this$0: Controller
|
||||||
inner class Controller$multipleSuspensions$1
|
inner class Controller$multipleSuspensions$1
|
||||||
method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void
|
method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void
|
||||||
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
|
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
|
||||||
@@ -16,7 +16,7 @@ final class Controller$nonTailCall$1 {
|
|||||||
field L$0: java.lang.Object
|
field L$0: java.lang.Object
|
||||||
field label: int
|
field label: int
|
||||||
synthetic field result: java.lang.Object
|
synthetic field result: java.lang.Object
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field this$0: Controller
|
synthetic final field this$0: Controller
|
||||||
inner class Controller$nonTailCall$1
|
inner class Controller$nonTailCall$1
|
||||||
method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void
|
method <init>(p0: Controller, p1: kotlin.coroutines.Continuation): void
|
||||||
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
|
public final @org.jetbrains.annotations.Nullable method invokeSuspend(@org.jetbrains.annotations.NotNull p0: java.lang.Object): java.lang.Object
|
||||||
@@ -36,7 +36,7 @@ public final class Controller {
|
|||||||
@kotlin.coroutines.jvm.internal.DebugMetadata
|
@kotlin.coroutines.jvm.internal.DebugMetadata
|
||||||
@kotlin.Metadata
|
@kotlin.Metadata
|
||||||
final class CoroutineFieldsKt$box$1 {
|
final class CoroutineFieldsKt$box$1 {
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field $result: kotlin.jvm.internal.Ref$ObjectRef
|
synthetic final field $result: kotlin.jvm.internal.Ref$ObjectRef
|
||||||
field J$0: long
|
field J$0: long
|
||||||
field L$0: java.lang.Object
|
field L$0: java.lang.Object
|
||||||
field L$1: java.lang.Object
|
field L$1: java.lang.Object
|
||||||
|
|||||||
+4
-4
@@ -12,7 +12,7 @@ public interface FlowCollector {
|
|||||||
public final class TcoContinuationKt$collect$2$emit$1 {
|
public final class TcoContinuationKt$collect$2$emit$1 {
|
||||||
field label: int
|
field label: int
|
||||||
synthetic field result: java.lang.Object
|
synthetic field result: java.lang.Object
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field this$0: TcoContinuationKt$collect$2
|
synthetic final field this$0: TcoContinuationKt$collect$2
|
||||||
inner class TcoContinuationKt$collect$2
|
inner class TcoContinuationKt$collect$2
|
||||||
inner class TcoContinuationKt$collect$2$emit$1
|
inner class TcoContinuationKt$collect$2$emit$1
|
||||||
public method <init>(p0: TcoContinuationKt$collect$2, p1: kotlin.coroutines.Continuation): void
|
public method <init>(p0: TcoContinuationKt$collect$2, p1: kotlin.coroutines.Continuation): void
|
||||||
@@ -21,7 +21,7 @@ public final class TcoContinuationKt$collect$2$emit$1 {
|
|||||||
|
|
||||||
@kotlin.Metadata
|
@kotlin.Metadata
|
||||||
public final class TcoContinuationKt$collect$2 {
|
public final class TcoContinuationKt$collect$2 {
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field $action: kotlin.jvm.functions.Function2
|
synthetic final field $action: kotlin.jvm.functions.Function2
|
||||||
inner class TcoContinuationKt$collect$2
|
inner class TcoContinuationKt$collect$2
|
||||||
inner class TcoContinuationKt$collect$2$emit$1
|
inner class TcoContinuationKt$collect$2$emit$1
|
||||||
public method <init>(p0: kotlin.jvm.functions.Function2): void
|
public method <init>(p0: kotlin.jvm.functions.Function2): void
|
||||||
@@ -33,7 +33,7 @@ public final class TcoContinuationKt$collect$2 {
|
|||||||
public final class TcoContinuationKt$flow$1$collect$1 {
|
public final class TcoContinuationKt$flow$1$collect$1 {
|
||||||
field label: int
|
field label: int
|
||||||
synthetic field result: java.lang.Object
|
synthetic field result: java.lang.Object
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field this$0: TcoContinuationKt$flow$1
|
synthetic final field this$0: TcoContinuationKt$flow$1
|
||||||
inner class TcoContinuationKt$flow$1
|
inner class TcoContinuationKt$flow$1
|
||||||
inner class TcoContinuationKt$flow$1$collect$1
|
inner class TcoContinuationKt$flow$1$collect$1
|
||||||
public method <init>(p0: TcoContinuationKt$flow$1, p1: kotlin.coroutines.Continuation): void
|
public method <init>(p0: TcoContinuationKt$flow$1, p1: kotlin.coroutines.Continuation): void
|
||||||
@@ -42,7 +42,7 @@ public final class TcoContinuationKt$flow$1$collect$1 {
|
|||||||
|
|
||||||
@kotlin.Metadata
|
@kotlin.Metadata
|
||||||
public final class TcoContinuationKt$flow$1 {
|
public final class TcoContinuationKt$flow$1 {
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field $block: kotlin.jvm.functions.Function2
|
synthetic final field $block: kotlin.jvm.functions.Function2
|
||||||
inner class TcoContinuationKt$flow$1
|
inner class TcoContinuationKt$flow$1
|
||||||
inner class TcoContinuationKt$flow$1$collect$1
|
inner class TcoContinuationKt$flow$1$collect$1
|
||||||
public method <init>(p0: kotlin.jvm.functions.Function2): void
|
public method <init>(p0: kotlin.jvm.functions.Function2): void
|
||||||
|
|||||||
Vendored
+2
-2
@@ -11,7 +11,7 @@ public final class Sealed$Derived {
|
|||||||
|
|
||||||
@kotlin.Metadata
|
@kotlin.Metadata
|
||||||
public final class Sealed$Inner {
|
public final class Sealed$Inner {
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field this$0: Sealed
|
synthetic final field this$0: Sealed
|
||||||
private final field z2: int
|
private final field z2: int
|
||||||
inner class Sealed$Inner
|
inner class Sealed$Inner
|
||||||
public synthetic @Ann method <init>(p0: Sealed, p1: int, @Ann p2: int, @Ann p3: java.lang.String, p4: kotlin.jvm.internal.DefaultConstructorMarker): void
|
public synthetic @Ann method <init>(p0: Sealed, p1: int, @Ann p2: int, @Ann p3: java.lang.String, p4: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||||
@@ -31,7 +31,7 @@ public abstract class Sealed {
|
|||||||
|
|
||||||
@kotlin.Metadata
|
@kotlin.Metadata
|
||||||
public final class Test$Inner {
|
public final class Test$Inner {
|
||||||
synthetic final @org.jetbrains.annotations.NotNull field this$0: Test
|
synthetic final field this$0: Test
|
||||||
private final field z2: int
|
private final field z2: int
|
||||||
inner class Test$Inner
|
inner class Test$Inner
|
||||||
public synthetic @Ann method <init>(p0: Test, p1: int, @Ann p2: int, @Ann p3: java.lang.String, p4: kotlin.jvm.internal.DefaultConstructorMarker): void
|
public synthetic @Ann method <init>(p0: Test, p1: int, @Ann p2: int, @Ann p3: java.lang.String, p4: kotlin.jvm.internal.DefaultConstructorMarker): void
|
||||||
|
|||||||
-1
@@ -1,4 +1,3 @@
|
|||||||
// IGNORE_BACKEND: JVM_IR
|
|
||||||
// WITH_RUNTIME
|
// WITH_RUNTIME
|
||||||
|
|
||||||
annotation class StringRes
|
annotation class StringRes
|
||||||
|
|||||||
Reference in New Issue
Block a user