Support generic underlying type of inline class

Use upper bound in JVM representation.
 #KT-32162
This commit is contained in:
Ilmir Usmanov
2021-12-09 03:37:17 +01:00
parent 732b8d4067
commit 9060168542
22 changed files with 326 additions and 12 deletions
@@ -0,0 +1,8 @@
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses, +GenericInlineClassParameter
// SKIP_TXT
inline class ICAny<T>(val value: T)
inline class ICArray<T>(val value: Array<T>)
inline class ICList<T>(val value: List<T>)
@@ -0,0 +1,8 @@
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses, +GenericInlineClassParameter
// SKIP_TXT
inline class ICAny<T>(val value: T)
inline class ICArray<T>(val value: Array<T>)
inline class ICList<T>(val value: List<T>)
@@ -0,0 +1,4 @@
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
// SKIP_TXT
inline class ICAny<reified T>(val value: T)
@@ -0,0 +1,4 @@
// !LANGUAGE: +InlineClasses, -JvmInlineValueClasses
// SKIP_TXT
inline class ICAny<<!REIFIED_TYPE_PARAMETER_NO_INLINE, REIFIED_TYPE_PARAMETER_NO_INLINE!>reified<!> T>(val value: <!VALUE_CLASS_HAS_INAPPLICABLE_PARAMETER_TYPE!>T<!>)