From ac1e58191c04bbeafc8f07bbdf178bfe356d6c00 Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 1 Oct 2024 10:26:43 -0700 Subject: [PATCH] [J2KT] Update NullabilityConversion readable with lower-bound to simple type conversion cases. PiperOrigin-RevId: 681073968 --- .../java/j2kt/NullabilityConversion.java | 38 ++++++++++--- .../NullabilityConversion+J2ObjCCompat.h.txt | 38 ++++++++++--- .../output_kt/NullabilityConversion.kt.txt | 56 ++++++++++++++++--- 3 files changed, 106 insertions(+), 26 deletions(-) diff --git a/transpiler/javatests/com/google/j2cl/readable/java/j2kt/NullabilityConversion.java b/transpiler/javatests/com/google/j2cl/readable/java/j2kt/NullabilityConversion.java index 055588f3d8..6ef58f552a 100644 --- a/transpiler/javatests/com/google/j2cl/readable/java/j2kt/NullabilityConversion.java +++ b/transpiler/javatests/com/google/j2cl/readable/java/j2kt/NullabilityConversion.java @@ -58,20 +58,40 @@ public static Parent nonNullToNonNull(Child it) { } public static class UpperWildcardToSimple { - public static @Nullable Parent nullableToNullable(Supplier it) { - return it.get(); + public static @Nullable Parent nullableToNullable( + Supplier supplier) { + return supplier.get(); } - public static Parent nullableToNonNull(Supplier it) { - return it.get(); + public static Parent nullableToNonNull(Supplier supplier) { + return supplier.get(); } - public static @Nullable Parent nonNullToNullable(Supplier it) { - return it.get(); + public static @Nullable Parent nonNullToNullable(Supplier supplier) { + return supplier.get(); } - public static Parent nonNullToNonNull(Supplier it) { - return it.get(); + public static Parent nonNullToNonNull(Supplier supplier) { + return supplier.get(); + } + } + + public static class LowerWildcardToSimple { + public static @Nullable Parent nullableToNullable( + Supplier supplier) { + return supplier.get(); + } + + public static Parent nullableToNonNull(Supplier supplier) { + return supplier.get(); + } + + public static @Nullable Parent nonNullToNullable(Supplier supplier) { + return supplier.get(); + } + + public static Parent nonNullToNonNull(Supplier supplier) { + return supplier.get(); } } @@ -316,7 +336,7 @@ public static Generic nonNullToNonNull(Generic it) { public static class SimpleUpperWildcardToUpperWildcard { public static Generic nullableToNullable( - Generic it) { + Generic it) { return it; } diff --git a/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion+J2ObjCCompat.h.txt b/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion+J2ObjCCompat.h.txt index b53d8db99a..301cbf6edf 100644 --- a/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion+J2ObjCCompat.h.txt +++ b/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion+J2ObjCCompat.h.txt @@ -5,6 +5,8 @@ @class J2ktJ2ktNullabilityConversion; @class J2ktJ2ktNullabilityConversion_Tests; @class J2ktJ2ktNullabilityConversion_Tests_Types; +@class J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple; +@class J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion; @class J2ktJ2ktNullabilityConversion_Tests_Types_SimpleToLowerWildcard; @class J2ktJ2ktNullabilityConversion_Tests_Types_SimpleToLowerWildcardCompanion; @class J2ktJ2ktNullabilityConversion_Tests_Types_SimpleToSimple; @@ -91,20 +93,40 @@ NS_INLINE id J2ktNullabilityConversion_Tes @compatibility_alias J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion; -NS_INLINE id _Nullable J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nullableToNullableWithJ2ktNullabilityConversion_Supplier_(id it) { - return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nullableToNullableWithJ2ktNullabilityConversion_Supplier:it]; +NS_INLINE id _Nullable J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nullableToNullableWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nullableToNullableWithJ2ktNullabilityConversion_Supplier:supplier]; } -NS_INLINE id J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nullableToNonNullWithJ2ktNullabilityConversion_Supplier_(id it) { - return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nullableToNonNullWithJ2ktNullabilityConversion_Supplier:it]; +NS_INLINE id J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nullableToNonNullWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nullableToNonNullWithJ2ktNullabilityConversion_Supplier:supplier]; } -NS_INLINE id _Nullable J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nonNullToNullableWithJ2ktNullabilityConversion_Supplier_(id it) { - return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nonNullToNullableWithJ2ktNullabilityConversion_Supplier:it]; +NS_INLINE id _Nullable J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nonNullToNullableWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nonNullToNullableWithJ2ktNullabilityConversion_Supplier:supplier]; } -NS_INLINE id J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nonNullToNonNullWithJ2ktNullabilityConversion_Supplier_(id it) { - return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nonNullToNonNullWithJ2ktNullabilityConversion_Supplier:it]; +NS_INLINE id J2ktNullabilityConversion_Tests_Types_UpperWildcardToSimple_nonNullToNonNullWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_UpperWildcardToSimpleCompanion.shared nonNullToNonNullWithJ2ktNullabilityConversion_Supplier:supplier]; +} + +@compatibility_alias J2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple; + +@compatibility_alias J2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion; + +NS_INLINE id _Nullable J2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple_nullableToNullableWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion.shared nullableToNullableWithJ2ktNullabilityConversion_Supplier:supplier]; +} + +NS_INLINE id J2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple_nullableToNonNullWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion.shared nullableToNonNullWithJ2ktNullabilityConversion_Supplier:supplier]; +} + +NS_INLINE id _Nullable J2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple_nonNullToNullableWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion.shared nonNullToNullableWithJ2ktNullabilityConversion_Supplier:supplier]; +} + +NS_INLINE id J2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple_nonNullToNonNullWithJ2ktNullabilityConversion_Supplier_(id supplier) { + return [J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion.shared nonNullToNonNullWithJ2ktNullabilityConversion_Supplier:supplier]; } @compatibility_alias J2ktNullabilityConversion_Tests_Types_SimpleToLowerWildcard J2ktJ2ktNullabilityConversion_Tests_Types_SimpleToLowerWildcard; diff --git a/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion.kt.txt b/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion.kt.txt index 8ca0bd4ef6..0111be48e4 100644 --- a/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion.kt.txt +++ b/transpiler/javatests/com/google/j2cl/readable/java/j2kt/output_kt/NullabilityConversion.kt.txt @@ -99,33 +99,71 @@ open class NullabilityConversion { @JvmStatic @ObjCName("nullableToNullable") fun nullableToNullable( - @ObjCName("withJ2ktNullabilityConversion_Supplier") it: NullabilityConversion.Supplier<*> + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier<*> + ): NullabilityConversion.Parent? { + return supplier.get() + } + + @JvmStatic + @ObjCName("nullableToNonNull") + fun nullableToNonNull( + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier<*> + ): NullabilityConversion.Parent { + return supplier.get()!! + } + + @JvmStatic + @ObjCName("nonNullToNullable") + fun nonNullToNullable( + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier + ): NullabilityConversion.Parent? { + return supplier.get() + } + + @JvmStatic + @ObjCName("nonNullToNonNull") + fun nonNullToNonNull( + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier + ): NullabilityConversion.Parent { + return supplier.get() + } + } + } + + @ObjCName("J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimple", exact = true) + open class LowerWildcardToSimple { + @ObjCName("J2ktJ2ktNullabilityConversion_Tests_Types_LowerWildcardToSimpleCompanion", exact = true) + companion object { + @JvmStatic + @ObjCName("nullableToNullable") + fun nullableToNullable( + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier ): NullabilityConversion.Parent? { - return it.get() + return supplier.get() as NullabilityConversion.Parent? } @JvmStatic @ObjCName("nullableToNonNull") fun nullableToNonNull( - @ObjCName("withJ2ktNullabilityConversion_Supplier") it: NullabilityConversion.Supplier<*> + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier ): NullabilityConversion.Parent { - return it.get()!! + return supplier.get()!! as NullabilityConversion.Parent } @JvmStatic @ObjCName("nonNullToNullable") fun nonNullToNullable( - @ObjCName("withJ2ktNullabilityConversion_Supplier") it: NullabilityConversion.Supplier + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier ): NullabilityConversion.Parent? { - return it.get() + return supplier.get() as NullabilityConversion.Parent? } @JvmStatic @ObjCName("nonNullToNonNull") fun nonNullToNonNull( - @ObjCName("withJ2ktNullabilityConversion_Supplier") it: NullabilityConversion.Supplier + @ObjCName("withJ2ktNullabilityConversion_Supplier") supplier: NullabilityConversion.Supplier ): NullabilityConversion.Parent { - return it.get() + return supplier.get()!! as NullabilityConversion.Parent } } } @@ -538,7 +576,7 @@ open class NullabilityConversion { @JvmStatic @ObjCName("nullableToNullable") fun nullableToNullable( - @ObjCName("withJ2ktNullabilityConversion_Generic") it: NullabilityConversion.Generic + @ObjCName("withJ2ktNullabilityConversion_Generic") it: NullabilityConversion.Generic ): NullabilityConversion.Generic<*> { return it }