JVM_IR: specify facadeClassGenerator properly in Psi2IrTranslator
This commit is contained in:
committed by
Alexander Udalov
parent
1d3b1ed0cb
commit
0423d0f41e
+17
-2
@@ -382,7 +382,15 @@ open class WrappedSimpleFunctionDescriptor(
|
||||
var originalDescriptor: FunctionDescriptor? = null
|
||||
|
||||
override fun getOverriddenDescriptors() = owner.overriddenSymbols.map { it.descriptor }
|
||||
override fun getContainingDeclaration() = (owner.parent as IrSymbolOwner).symbol.descriptor
|
||||
override fun getContainingDeclaration(): DeclarationDescriptor {
|
||||
val parent = owner.parent
|
||||
return if (parent is IrClass && parent.origin == IrDeclarationOrigin.FILE_CLASS && parent.parent is IrExternalPackageFragment) {
|
||||
return (parent.parent as IrExternalPackageFragment).packageFragmentDescriptor
|
||||
} else {
|
||||
(parent as IrSymbolOwner).symbol.descriptor
|
||||
}
|
||||
}
|
||||
|
||||
override fun getModality() = owner.modality
|
||||
override fun getName() = owner.name
|
||||
override fun getVisibility() = owner.visibility
|
||||
@@ -833,7 +841,14 @@ open class WrappedPropertyDescriptor(
|
||||
|
||||
override fun isConst() = owner.isConst
|
||||
|
||||
override fun getContainingDeclaration() = (owner.parent as IrSymbolOwner).symbol.descriptor
|
||||
override fun getContainingDeclaration(): DeclarationDescriptor {
|
||||
val parent = owner.parent
|
||||
return if (parent is IrClass && parent.origin == IrDeclarationOrigin.FILE_CLASS && parent.parent is IrExternalPackageFragment) {
|
||||
return (parent.parent as IrExternalPackageFragment).packageFragmentDescriptor
|
||||
} else {
|
||||
(parent as IrSymbolOwner).symbol.descriptor
|
||||
}
|
||||
}
|
||||
|
||||
override fun isLateInit() = owner.isLateinit
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ class Psi2IrTranslator(
|
||||
val irModule = moduleGenerator.generateModuleFragmentWithoutDependencies(ktFiles)
|
||||
|
||||
// This is required for implicit casts insertion on IrTypes (work-in-progress).
|
||||
moduleGenerator.generateUnboundSymbolsAsDependencies(irModule, deserializer)
|
||||
moduleGenerator.generateUnboundSymbolsAsDependencies(irModule, deserializer, facadeClassGenerator)
|
||||
irModule.patchDeclarationParents()
|
||||
|
||||
postprocess(context, irModule)
|
||||
|
||||
Reference in New Issue
Block a user