diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.fir.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.fir.java index 9268ec72dbc..147441a80df 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.fir.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.fir.java @@ -24,6 +24,9 @@ public final class Container /* Container*/ { @kotlin.jvm.JvmSuppressWildcards(suppress = true) public final void deepOpen(@org.jetbrains.annotations.NotNull() Out>>);// deepOpen(Out>>) + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + public final void zoo(@org.jetbrains.annotations.NotNull() Out>>, @org.jetbrains.annotations.NotNull() Out);// zoo(Out>>, Out) + @org.jetbrains.annotations.NotNull() public final OutPair, Out>> falseTrueFalse();// falseTrueFalse() @@ -37,10 +40,52 @@ public final class Container /* Container*/ { public final void simpleOut(@org.jetbrains.annotations.NotNull() Out);// simpleOut(Out) } +public final class ContainerForPropertyAndAccessors /* ContainerForPropertyAndAccessors*/ { + @org.jetbrains.annotations.NotNull() + private Out bar; + + @org.jetbrains.annotations.NotNull() + private final In simpleIn; + + @org.jetbrains.annotations.NotNull() + private final Out simpleOut; + + @org.jetbrains.annotations.NotNull() + private final Out>> deepOpen; + + @org.jetbrains.annotations.NotNull() + public final In getSimpleIn();// getSimpleIn() + + @org.jetbrains.annotations.NotNull() + public final Out getSimpleOut();// getSimpleOut() + + @org.jetbrains.annotations.NotNull() + public final Out getZoo(@org.jetbrains.annotations.NotNull() Out>>);// getZoo(Out>>) + + @org.jetbrains.annotations.NotNull() + public final Out getBar();// getBar() + + @org.jetbrains.annotations.NotNull() + public final Out>> getDeepOpen();// getDeepOpen() + + public ContainerForPropertyAndAccessors();// .ctor() + + public final void setBar(@org.jetbrains.annotations.NotNull() Out);// setBar(Out) +} + public final class Final /* Final*/ { public Final();// .ctor() } +@kotlin.jvm.JvmSuppressWildcards(suppress = true) +public final class HasAnnotation /* HasAnnotation*/ { + public HasAnnotation();// .ctor() + + public final void doesNot(@org.jetbrains.annotations.NotNull() Out>);// doesNot(Out>) + + public final void parameterDisagrees(@org.jetbrains.annotations.NotNull() Out);// parameterDisagrees(Out) +} + public final class In /* In*/ { public In();// .ctor() } diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.java index a9233ea5d83..3fcd79a2482 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.java +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.java @@ -24,6 +24,9 @@ public final class Container /* Container*/ { @kotlin.jvm.JvmSuppressWildcards(suppress = true) public final void deepOpen(@org.jetbrains.annotations.NotNull() Out>>);// deepOpen(Out>>) + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + public final void zoo(@org.jetbrains.annotations.NotNull() Out>>, @org.jetbrains.annotations.NotNull() Out);// zoo(Out>>, Out) + @org.jetbrains.annotations.NotNull() public final OutPair, Out>> falseTrueFalse();// falseTrueFalse() @@ -37,10 +40,52 @@ public final class Container /* Container*/ { public final void simpleOut(@org.jetbrains.annotations.NotNull() Out);// simpleOut(Out) } +public final class ContainerForPropertyAndAccessors /* ContainerForPropertyAndAccessors*/ { + @org.jetbrains.annotations.NotNull() + private Out bar; + + @org.jetbrains.annotations.NotNull() + private final In simpleIn; + + @org.jetbrains.annotations.NotNull() + private final Out simpleOut; + + @org.jetbrains.annotations.NotNull() + private final Out>> deepOpen; + + @org.jetbrains.annotations.NotNull() + public final In getSimpleIn();// getSimpleIn() + + @org.jetbrains.annotations.NotNull() + public final Out getSimpleOut();// getSimpleOut() + + @org.jetbrains.annotations.NotNull() + public final Out getZoo(@org.jetbrains.annotations.NotNull() Out>>);// getZoo(Out>>) + + @org.jetbrains.annotations.NotNull() + public final Out getBar();// getBar() + + @org.jetbrains.annotations.NotNull() + public final Out>> getDeepOpen();// getDeepOpen() + + public ContainerForPropertyAndAccessors();// .ctor() + + public final void setBar(@org.jetbrains.annotations.NotNull() Out);// setBar(Out) +} + public final class Final /* Final*/ { public Final();// .ctor() } +@kotlin.jvm.JvmSuppressWildcards(suppress = true) +public final class HasAnnotation /* HasAnnotation*/ { + public HasAnnotation();// .ctor() + + public final void doesNot(@org.jetbrains.annotations.NotNull() Out>);// doesNot(Out>) + + public final void parameterDisagrees(@org.jetbrains.annotations.NotNull() Out);// parameterDisagrees(Out) +} + public final class In /* In*/ { public In();// .ctor() } diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.kt b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.kt index 82f6aa0b35f..db4c64c39fc 100644 --- a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.kt +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.kt @@ -12,7 +12,6 @@ class Container { @JvmSuppressWildcards(true) fun deepOpen(x: Out>>) {} - @JvmSuppressWildcards(false) fun bar(): Out = null!! @@ -27,6 +26,32 @@ class Container { @JvmSuppressWildcards(true) fun bar(x: Boolean, y: In, z: @JvmSuppressWildcards(false) Long): Int = 1 + + @JvmSuppressWildcards(true) + fun Out>>.zoo(z: @JvmSuppressWildcards(false) Out) {} +} + +class ContainerForPropertyAndAccessors { + @JvmSuppressWildcards(true) + val deepOpen: Out>> = TODO() + + @JvmSuppressWildcards(false) + var bar: Out = TODO() + + val simpleOut: Out<@JvmWildcard Final> = TODO() + + val simpleIn: In<@JvmWildcard Any?> = TODO() + + @JvmSuppressWildcards(true) + val Out>>.zoo: @JvmSuppressWildcards(false) Out + get() = TODO() +} + +@JvmSuppressWildcards(true) +class HasAnnotation { + fun doesNot(p: Out>) {} + + fun parameterDisagrees(p: @JvmSuppressWildcards(false) Out) {} } interface A { diff --git a/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.lib.java b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.lib.java new file mode 100644 index 00000000000..7ad415f2930 --- /dev/null +++ b/compiler/testData/asJava/lightClasses/lightClassByPsi/jvmWildcardAnnotations.lib.java @@ -0,0 +1,107 @@ +public abstract interface A /* A*/ { + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + @org.jetbrains.annotations.NotNull() + public abstract Out foo();// foo() +} + +public abstract interface B /* B*/ { + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + @org.jetbrains.annotations.NotNull() + public abstract In foo();// foo() +} + +public final class Container /* Container*/ { + @kotlin.jvm.JvmSuppressWildcards(suppress = false) + @org.jetbrains.annotations.NotNull() + public final Out bar();// bar() + + @kotlin.jvm.JvmSuppressWildcards(suppress = false) + public final int foo(boolean, @org.jetbrains.annotations.NotNull() Out);// foo(boolean, Out) + + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + public final int bar(boolean, @org.jetbrains.annotations.NotNull() In, long);// bar(boolean, In, long) + + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + public final void deepOpen(@org.jetbrains.annotations.NotNull() Out>>);// deepOpen(Out>>) + + @kotlin.jvm.JvmSuppressWildcards(suppress = true) + public final void zoo(@org.jetbrains.annotations.NotNull() Out>>, @org.jetbrains.annotations.NotNull() Out);// zoo(Out>>, Out) + + @org.jetbrains.annotations.NotNull() + public final OutPair, Out>> falseTrueFalse();// falseTrueFalse() + + @org.jetbrains.annotations.NotNull() + public final OutPair>> combination();// combination() + + public Container();// .ctor() + + public final void simpleIn(@org.jetbrains.annotations.NotNull() In);// simpleIn(In) + + public final void simpleOut(@org.jetbrains.annotations.NotNull() Out);// simpleOut(Out) +} + +public final class ContainerForPropertyAndAccessors /* ContainerForPropertyAndAccessors*/ { + @org.jetbrains.annotations.NotNull() + private Out bar; + + @org.jetbrains.annotations.NotNull() + private final In simpleIn; + + @org.jetbrains.annotations.NotNull() + private final Out simpleOut; + + @org.jetbrains.annotations.NotNull() + private final Out>> deepOpen; + + @org.jetbrains.annotations.NotNull() + public final In getSimpleIn();// getSimpleIn() + + @org.jetbrains.annotations.NotNull() + public final Out getSimpleOut();// getSimpleOut() + + @org.jetbrains.annotations.NotNull() + public final Out getZoo(@org.jetbrains.annotations.NotNull() Out>>);// getZoo(Out>>) + + @org.jetbrains.annotations.NotNull() + public final Out getBar();// getBar() + + @org.jetbrains.annotations.NotNull() + public final Out>> getDeepOpen();// getDeepOpen() + + public ContainerForPropertyAndAccessors();// .ctor() + + public final void setBar(@org.jetbrains.annotations.NotNull() Out);// setBar(Out) +} + +public final class Final /* Final*/ { + public Final();// .ctor() +} + +@kotlin.jvm.JvmSuppressWildcards(suppress = true) +public final class HasAnnotation /* HasAnnotation*/ { + public HasAnnotation();// .ctor() + + public final void doesNot(@org.jetbrains.annotations.NotNull() Out>);// doesNot(Out>) + + public final void parameterDisagrees(@org.jetbrains.annotations.NotNull() Out);// parameterDisagrees(Out) +} + +public final class In /* In*/ { + public In();// .ctor() +} + +public final class Inv /* Inv*/ { + public Inv();// .ctor() +} + +public class Open /* Open*/ { + public Open();// .ctor() +} + +public final class Out /* Out*/ { + public Out();// .ctor() +} + +public final class OutPair /* OutPair*/ { + public OutPair();// .ctor() +}