Files
kotlin/compiler/testData/codegen/boxWithStdlib/platformNames/multifileClassWithLocalGeneric.kt
Dmitry Petrov 6850e9180e 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.
2015-09-10 18:03:34 +03:00

17 lines
461 B
Kotlin
Vendored

@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()