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
|
var originalDescriptor: FunctionDescriptor? = null
|
||||||
|
|
||||||
override fun getOverriddenDescriptors() = owner.overriddenSymbols.map { it.descriptor }
|
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 getModality() = owner.modality
|
||||||
override fun getName() = owner.name
|
override fun getName() = owner.name
|
||||||
override fun getVisibility() = owner.visibility
|
override fun getVisibility() = owner.visibility
|
||||||
@@ -833,7 +841,14 @@ open class WrappedPropertyDescriptor(
|
|||||||
|
|
||||||
override fun isConst() = owner.isConst
|
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
|
override fun isLateInit() = owner.isLateinit
|
||||||
|
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ class Psi2IrTranslator(
|
|||||||
val irModule = moduleGenerator.generateModuleFragmentWithoutDependencies(ktFiles)
|
val irModule = moduleGenerator.generateModuleFragmentWithoutDependencies(ktFiles)
|
||||||
|
|
||||||
// This is required for implicit casts insertion on IrTypes (work-in-progress).
|
// This is required for implicit casts insertion on IrTypes (work-in-progress).
|
||||||
moduleGenerator.generateUnboundSymbolsAsDependencies(irModule, deserializer)
|
moduleGenerator.generateUnboundSymbolsAsDependencies(irModule, deserializer, facadeClassGenerator)
|
||||||
irModule.patchDeclarationParents()
|
irModule.patchDeclarationParents()
|
||||||
|
|
||||||
postprocess(context, irModule)
|
postprocess(context, irModule)
|
||||||
|
|||||||
Reference in New Issue
Block a user