[FIR2IR] Use wrapped property accessor descriptors for accessors
This commit is contained in:
+9
-3
@@ -8,7 +8,9 @@ package org.jetbrains.kotlin.fir.backend
|
|||||||
import org.jetbrains.kotlin.KtNodeTypes
|
import org.jetbrains.kotlin.KtNodeTypes
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.Modality
|
import org.jetbrains.kotlin.descriptors.Modality
|
||||||
|
import org.jetbrains.kotlin.descriptors.SourceElement
|
||||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||||
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
import org.jetbrains.kotlin.fir.declarations.*
|
import org.jetbrains.kotlin.fir.declarations.*
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
|
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter
|
||||||
@@ -431,10 +433,14 @@ class Fir2IrDeclarationStorage(
|
|||||||
endOffset: Int
|
endOffset: Int
|
||||||
): IrSimpleFunction {
|
): IrSimpleFunction {
|
||||||
val propertyDescriptor = correspondingProperty.descriptor
|
val propertyDescriptor = correspondingProperty.descriptor
|
||||||
val descriptor =
|
val descriptor = when {
|
||||||
if (propertyDescriptor is WrappedPropertyDescriptorWithContainerSource)
|
propertyDescriptor is WrappedPropertyDescriptorWithContainerSource ->
|
||||||
WrappedFunctionDescriptorWithContainerSource(propertyDescriptor.containerSource)
|
WrappedFunctionDescriptorWithContainerSource(propertyDescriptor.containerSource)
|
||||||
else WrappedSimpleFunctionDescriptor()
|
isSetter ->
|
||||||
|
WrappedPropertySetterDescriptor(Annotations.EMPTY, SourceElement.NO_SOURCE)
|
||||||
|
else ->
|
||||||
|
WrappedPropertyGetterDescriptor(Annotations.EMPTY, SourceElement.NO_SOURCE)
|
||||||
|
}
|
||||||
val prefix = if (isSetter) "set" else "get"
|
val prefix = if (isSetter) "set" else "get"
|
||||||
return symbolTable.declareSimpleFunction(
|
return symbolTable.declareSimpleFunction(
|
||||||
propertyAccessor?.psi?.startOffsetSkippingComments ?: startOffset,
|
propertyAccessor?.psi?.startOffsetSkippingComments ?: startOffset,
|
||||||
|
|||||||
Reference in New Issue
Block a user