JVM IR: Create package private synthetic multi file part classes

This commit is contained in:
Steven Schäfer
2020-02-07 10:20:46 +01:00
committed by Alexander Udalov
parent 6584df3e01
commit 9db82bfcc8
11 changed files with 16 additions and 10 deletions
@@ -393,7 +393,7 @@ val IrDeclaration.isTopLevel: Boolean
get() {
if (parent is IrPackageFragment) return true
val parentClass = parent as? IrClass
return parentClass?.origin == IrDeclarationOrigin.FILE_CLASS && parentClass.parent is IrPackageFragment
return parentClass?.isFileClass == true && parentClass.parent is IrPackageFragment
}
fun Scope.createTemporaryVariableWithWrappedDescriptor(
@@ -65,7 +65,7 @@ abstract class SingleAbstractMethodLowering(val context: CommonBackendContext) :
abstract fun getSuperTypeForWrapper(typeOperand: IrType): IrType
override fun lower(irFile: IrFile) {
enclosingContainer = irFile.declarations.filterIsInstance<IrClass>().find { it.origin == IrDeclarationOrigin.FILE_CLASS }
enclosingContainer = irFile.declarations.filterIsInstance<IrClass>().find { it.isFileClass }
?: irFile
irFile.transformChildrenVoid()