Try loading PSI from descriptor in OtherOrigin constructor

To simplify several call sites
This commit is contained in:
Alexander Udalov
2019-04-25 16:48:44 +02:00
parent 56d5846ef1
commit e9b50157da
3 changed files with 6 additions and 8 deletions
@@ -134,7 +134,7 @@ public class ConstructorCodegen {
ConstructorContext constructorContext = context.intoConstructor(constructorDescriptor, typeMapper);
functionCodegen.generateMethod(
JvmDeclarationOriginKt.OtherOrigin(constructor, constructorDescriptor),
JvmDeclarationOriginKt.OtherOrigin(constructorDescriptor),
constructorDescriptor, constructorContext,
new FunctionGenerationStrategy.CodegenBased(state) {
@Override
@@ -59,7 +59,8 @@ fun OtherOrigin(element: PsiElement?, descriptor: DeclarationDescriptor? = null)
fun OtherOriginFromPure(element: KtPureElement?, descriptor: DeclarationDescriptor? = null) =
OtherOrigin(element?.psiOrParent, descriptor)
fun OtherOrigin(descriptor: DeclarationDescriptor) = JvmDeclarationOrigin(OTHER, null, descriptor)
fun OtherOrigin(descriptor: DeclarationDescriptor): JvmDeclarationOrigin =
JvmDeclarationOrigin(OTHER, DescriptorToSourceUtils.descriptorToDeclaration(descriptor), descriptor)
fun Bridge(
descriptor: DeclarationDescriptor,
@@ -365,11 +365,8 @@ private val Modality.flags: Int
private val Visibility.flags: Int
get() = AsmUtil.getVisibilityAccessFlag(this) ?: throw AssertionError("Unsupported visibility $this")
private val IrField.OtherOrigin: JvmDeclarationOrigin
get() = OtherOrigin(descriptor.psiElement, this.descriptor)
internal val IrFunction.OtherOrigin: JvmDeclarationOrigin
get() = OtherOrigin(descriptor.psiElement, this.descriptor)
internal val IrDeclaration.OtherOrigin: JvmDeclarationOrigin
get() = OtherOrigin(descriptor)
private fun IrClass.getSuperClassInfo(typeMapper: IrTypeMapper): IrSuperClassInfo {
if (isInterface) {
@@ -384,4 +381,4 @@ private fun IrClass.getSuperClassInfo(typeMapper: IrTypeMapper): IrSuperClassInf
}
return IrSuperClassInfo(AsmTypes.OBJECT_TYPE, null)
}
}