Preserve type annotations on type parameter when substituting
Subsitute(@A T, T:@B String) = @B @A String Nullability when loading Java: Subsitute(@NotNull T, T:String) = @NotNull String Subsitute(@NotNull T, T:String!) = @NotNull String Subsitute(@NotNull T, T:String?) = @NotNull String Subsitute(@Nullable T, T:String) = @Nullable String? Subsitute(@Nullable T, T:String!) = @Nullable String? Subsitute(@Nullable T, T:String?) = @Nullable String?
This commit is contained in:
Vendored
+1
-2
@@ -19,6 +19,5 @@ public class Y extends X<String> {
|
||||
|
||||
fun main() {
|
||||
checkSubtype<Any>(Y().fooN())
|
||||
Y().barN(null);
|
||||
Y().barN(<!NULL_FOR_NONNULL_TYPE!>null<!>);
|
||||
}
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -20,9 +20,9 @@ public open class X</*0*/ T> {
|
||||
|
||||
public open class Y : X<kotlin.String!> {
|
||||
public constructor Y()
|
||||
public/*package*/ open override /*1*/ /*fake_override*/ fun barN(/*0*/ org.jetbrains.annotations.NotNull() a: kotlin.String!): kotlin.Unit
|
||||
public/*package*/ open override /*1*/ /*fake_override*/ fun barN(/*0*/ org.jetbrains.annotations.NotNull() a: kotlin.String): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
org.jetbrains.annotations.NotNull() public/*package*/ open override /*1*/ /*fake_override*/ fun fooN(): kotlin.String!
|
||||
org.jetbrains.annotations.NotNull() public/*package*/ open override /*1*/ /*fake_override*/ fun fooN(): kotlin.String
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
+1
-2
@@ -19,6 +19,5 @@ public class Y extends X<A> {
|
||||
|
||||
fun main() {
|
||||
checkSubtype<Any>(Y().fooN())
|
||||
Y().barN(null);
|
||||
Y().barN(<!NULL_FOR_NONNULL_TYPE!>null<!>);
|
||||
}
|
||||
|
||||
|
||||
Vendored
+2
-2
@@ -20,9 +20,9 @@ public open class X</*0*/ T> {
|
||||
|
||||
public open class Y : X<A!> {
|
||||
public constructor Y()
|
||||
public/*package*/ open override /*1*/ /*fake_override*/ fun barN(/*0*/ org.jetbrains.annotations.NotNull() a: A!): kotlin.Unit
|
||||
public/*package*/ open override /*1*/ /*fake_override*/ fun barN(/*0*/ org.jetbrains.annotations.NotNull() a: A): kotlin.Unit
|
||||
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
|
||||
org.jetbrains.annotations.NotNull() public/*package*/ open override /*1*/ /*fake_override*/ fun fooN(): A!
|
||||
org.jetbrains.annotations.NotNull() public/*package*/ open override /*1*/ /*fake_override*/ fun fooN(): A
|
||||
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
|
||||
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user