Name clash test for file class vs multifile class
This commit is contained in:
@@ -84,12 +84,15 @@ public class ClassFileFactory implements OutputFileCollection {
|
||||
void done() {
|
||||
if (!isDone) {
|
||||
isDone = true;
|
||||
Collection<PackageCodegen> values = package2codegen.values();
|
||||
for (PackageCodegen codegen : values) {
|
||||
Collection<PackageCodegen> packageCodegens = package2codegen.values();
|
||||
for (PackageCodegen codegen : packageCodegens) {
|
||||
codegen.done();
|
||||
}
|
||||
|
||||
writeModuleMappings(values);
|
||||
for (MultifileClassCodegen codegen : multifileClass2codegen.values()) {
|
||||
codegen.done();
|
||||
}
|
||||
// TODO module mappings for multifile classes
|
||||
writeModuleMappings(packageCodegens);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@ public class MultifileClassCodegen(
|
||||
val actualPackageFragment = packageFragment ?:
|
||||
compiledPackageFragment ?:
|
||||
throw AssertionError("No package fragment for multifile facade $facadeFqName; files: $files")
|
||||
val declarationOrigin = MultifileClass(actualPackageFragment, facadeFqName)
|
||||
val declarationOrigin = MultifileClass(sourceFile, actualPackageFragment, facadeFqName)
|
||||
val classBuilder = state.factory.newVisitor(declarationOrigin, facadeClassType, filesWithTopLevelCallables)
|
||||
|
||||
classBuilder.defineClass(sourceFile, Opcodes.V1_6, FACADE_CLASS_ATTRIBUTES,
|
||||
|
||||
Reference in New Issue
Block a user