IR: remove unused dependency on BindingContext

This commit is contained in:
Alexander Udalov
2021-02-21 13:40:05 +01:00
parent 837eb739ea
commit 274e0ad136
2 changed files with 5 additions and 12 deletions
@@ -5,9 +5,9 @@
package org.jetbrains.kotlin.ir.declarations.lazy package org.jetbrains.kotlin.ir.declarations.lazy
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.PropertyDescriptor import org.jetbrains.kotlin.descriptors.PropertyDescriptor
import org.jetbrains.kotlin.descriptors.DescriptorVisibility
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrConstructorCall import org.jetbrains.kotlin.ir.expressions.IrConstructorCall
@@ -15,8 +15,6 @@ import org.jetbrains.kotlin.ir.symbols.IrPropertySymbol
import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator
import org.jetbrains.kotlin.ir.util.TypeTranslator import org.jetbrains.kotlin.ir.util.TypeTranslator
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.hasBackingField
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedPropertyDescriptor
@@ -39,7 +37,6 @@ class IrLazyProperty(
override val isFakeOverride: Boolean, override val isFakeOverride: Boolean,
override val stubGenerator: DeclarationStubGenerator, override val stubGenerator: DeclarationStubGenerator,
override val typeTranslator: TypeTranslator, override val typeTranslator: TypeTranslator,
bindingContext: BindingContext? = null
) : IrProperty(), IrLazyDeclarationBase { ) : IrProperty(), IrLazyDeclarationBase {
init { init {
symbol.bind(this) symbol.bind(this)
@@ -50,7 +47,8 @@ class IrLazyProperty(
override var annotations: List<IrConstructorCall> by createLazyAnnotations() override var annotations: List<IrConstructorCall> by createLazyAnnotations()
private val hasBackingField: Boolean = private val hasBackingField: Boolean =
descriptor.hasBackingField(bindingContext) || stubGenerator.extensions.isPropertyWithPlatformField(descriptor) descriptor.compileTimeInitializer != null || descriptor.getter == null ||
stubGenerator.extensions.isPropertyWithPlatformField(descriptor)
override var backingField: IrField? by lazyVar { override var backingField: IrField? by lazyVar {
if (hasBackingField) { if (hasBackingField) {
@@ -22,14 +22,12 @@ import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
import org.jetbrains.kotlin.ir.declarations.* import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.declarations.lazy.* import org.jetbrains.kotlin.ir.declarations.lazy.*
import org.jetbrains.kotlin.ir.descriptors.*
import org.jetbrains.kotlin.ir.expressions.impl.IrErrorExpressionImpl import org.jetbrains.kotlin.ir.expressions.impl.IrErrorExpressionImpl
import org.jetbrains.kotlin.ir.linkage.IrProvider import org.jetbrains.kotlin.ir.linkage.IrProvider
import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol import org.jetbrains.kotlin.ir.symbols.IrFieldSymbol
import org.jetbrains.kotlin.ir.symbols.IrSymbol import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol import org.jetbrains.kotlin.ir.symbols.IrTypeParameterSymbol
import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl import org.jetbrains.kotlin.ir.symbols.impl.IrValueParameterSymbolImpl
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.DescriptorUtils import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal import org.jetbrains.kotlin.resolve.descriptorUtil.isEffectivelyExternal
import org.jetbrains.kotlin.resolve.isInlineClass import org.jetbrains.kotlin.resolve.isInlineClass
@@ -145,10 +143,7 @@ class DeclarationStubGenerator(
private fun computeOrigin(descriptor: DeclarationDescriptor): IrDeclarationOrigin = private fun computeOrigin(descriptor: DeclarationDescriptor): IrDeclarationOrigin =
extensions.computeExternalDeclarationOrigin(descriptor) ?: IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB extensions.computeExternalDeclarationOrigin(descriptor) ?: IrDeclarationOrigin.IR_EXTERNAL_DECLARATION_STUB
fun generatePropertyStub( fun generatePropertyStub(descriptor: PropertyDescriptor): IrProperty {
descriptor: PropertyDescriptor,
bindingContext: BindingContext? = null
): IrProperty {
val referenced = symbolTable.referenceProperty(descriptor) val referenced = symbolTable.referenceProperty(descriptor)
if (referenced.isBound) { if (referenced.isBound) {
return referenced.owner return referenced.owner
@@ -165,7 +160,7 @@ class DeclarationStubGenerator(
descriptor.isVar, descriptor.isConst, descriptor.isLateInit, descriptor.isVar, descriptor.isConst, descriptor.isLateInit,
descriptor.isDelegated, descriptor.isEffectivelyExternal(), descriptor.isExpect, descriptor.isDelegated, descriptor.isEffectivelyExternal(), descriptor.isExpect,
isFakeOverride = (origin == IrDeclarationOrigin.FAKE_OVERRIDE), isFakeOverride = (origin == IrDeclarationOrigin.FAKE_OVERRIDE),
stubGenerator = this, typeTranslator = typeTranslator, bindingContext = bindingContext stubGenerator = this, typeTranslator,
) )
} }
} }