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:
@@ -44,10 +44,10 @@ public class MultifileClassPartCodegen(
|
||||
private val multifileClassFqName: FqName,
|
||||
partContext: FieldOwnerContext<*>,
|
||||
state: GenerationState
|
||||
) : MemberCodegen<JetFile>(state, null, partContext, file, v){
|
||||
) : MemberCodegen<JetFile>(state, null, partContext, file, v) {
|
||||
override fun generateDeclaration() {
|
||||
v.defineClass(element, Opcodes.V1_6,
|
||||
Opcodes.ACC_FINAL,
|
||||
Opcodes.ACC_FINAL or Opcodes.ACC_SYNTHETIC,
|
||||
filePartType.internalName,
|
||||
null,
|
||||
"java/lang/Object",
|
||||
|
||||
Reference in New Issue
Block a user