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.
Previously JVM back-end had an assumption that if we're calling a method
declared in the super class from a lambda via a synthetic accessor, that should
be a super call and it must be done with 'invokespecial'. Which is wrong
because a method declared in the super class may be open and overridden in the
subclass, so 'invokevirtual' should be used. Surprisingly, Java SE verifier
allowed both instructions, but on Android only the latter is possible
#KT-8899 Fixed
#KT-9052 Fixed
- PackageLocalClassNotImportedWithDefaultImport.kt goes to codegen multi-file
tests. File in java.lang moved to kotlin.jvm, which seems irrelevant to the
test, because java.lang is prohibited by the VM
- MergePackagesWithJava.kt (KT-689, Java and Kotlin in the same package) and
kt955.kt (Unable to import from default package) are considered too obsolete
to even test and are thus deleted
Also check that there's no more than 1000 lines in the .txt file in diagnostic
tests.