IC mangling: Replace compiler hack with configuration flag

This commit is contained in:
Ilmir Usmanov
2020-11-14 00:47:17 +01:00
parent bc1b6fef1f
commit 2cd9016016
27 changed files with 108 additions and 30 deletions
+2
View File
@@ -112,6 +112,8 @@ where advanced options include:
-Xuse-javac Use javac for Java source and class files analysis
-Xuse-old-class-files-reading Use old class files reading implementation. This may slow down the build and cause problems with Groovy interop.
Should be used in case of problems with the new implementation
-Xuse-14-inline-classes-mangling-scheme
Use 1.4 inline classes mangling scheme instead of 1.4.30 one
-Xuse-old-spilled-var-type-analysis
Use old, SourceInterpreter-based analysis for fields, used for spilled variables in coroutines
-Xuse-type-table Use type table in metadata serialization
@@ -1,3 +1,4 @@
// KOTLIN_CONFIGURATION_FLAGS: +JVM.USE_OLD_INLINE_CLASSES_MANGLING_SCHEME
// FILE: 1.kt
package test
@@ -0,0 +1,17 @@
package test
inline class IC(val x: String)
typealias ICAlias = IC
class Ctor(ic: IC)
fun simpleFun(f: IC) {}
fun aliasedFun(f: ICAlias) {}
val simpleProp: IC = IC("")
fun result(r: List<Result<Any>?>) {}
abstract class Foo : List<IC>
interface Bar<T : IC>