Effectively this is a return of "${facadeName}__${partName}" scheme.
Suggestions from @udalov: - Make multifile class parts synthetic. - Multifile class parts should have well-formed Java identifiers as names. - Multifile class part names should contain facade name. Add test with clashing part names. Add test with local generic classes used in method signatures (it works with parts names not being well-formed Java identifiers, though). Capitalized annotations.
This commit is contained in:
+17
@@ -0,0 +1,17 @@
|
||||
@file:JvmName("TestPackage")
|
||||
@file:JvmMultifileClass
|
||||
package test
|
||||
|
||||
fun foo(): String = bar()
|
||||
fun bar(): String {
|
||||
open class LocalGeneric<T>(val x: T)
|
||||
class Derived(x: String) : LocalGeneric<String>(x)
|
||||
fun <T> LocalGeneric<T>.extFun() = this
|
||||
fun <T> localFun(x: LocalGeneric<T>) = x
|
||||
class Local3 {
|
||||
fun <T> method(x: LocalGeneric<T>) = x.x
|
||||
}
|
||||
return Local3().method(localFun(Derived("OK")).extFun())
|
||||
}
|
||||
|
||||
fun box(): String = foo()
|
||||
Reference in New Issue
Block a user