Default getter/setter bodies.
This commit is contained in:
committed by
Dmitry Petrov
parent
fed09f059b
commit
da93f57afb
+6
-6
@@ -127,17 +127,17 @@ class DeclarationGenerator(override val context: GeneratorContext) : Generator {
|
|||||||
irProperty.getter = ktProperty.getter?.let { ktGetter ->
|
irProperty.getter = ktProperty.getter?.let { ktGetter ->
|
||||||
val accessorDescriptor = getOrFail(BindingContext.PROPERTY_ACCESSOR, ktGetter)
|
val accessorDescriptor = getOrFail(BindingContext.PROPERTY_ACCESSOR, ktGetter)
|
||||||
val getterDescriptor = accessorDescriptor as? PropertyGetterDescriptor ?: TODO("not a getter?")
|
val getterDescriptor = accessorDescriptor as? PropertyGetterDescriptor ?: TODO("not a getter?")
|
||||||
val irGetterBody = generateFunctionBody(getterDescriptor, ktGetter.bodyExpression ?: TODO("default getter"))
|
val irGetter = IrPropertyGetterImpl(ktGetter.startOffset, ktGetter.endOffset, IrDeclarationOrigin.DEFINED, getterDescriptor)
|
||||||
IrPropertyGetterImpl(ktGetter.startOffset, ktGetter.endOffset, IrDeclarationOrigin.DEFINED,
|
irGetter.body = ktGetter.bodyExpression?.let { generateFunctionBody(getterDescriptor, it ) }
|
||||||
getterDescriptor, irGetterBody)
|
irGetter
|
||||||
}
|
}
|
||||||
|
|
||||||
irProperty.setter = ktProperty.setter?.let { ktSetter ->
|
irProperty.setter = ktProperty.setter?.let { ktSetter ->
|
||||||
val accessorDescriptor = getOrFail(BindingContext.PROPERTY_ACCESSOR, ktSetter)
|
val accessorDescriptor = getOrFail(BindingContext.PROPERTY_ACCESSOR, ktSetter)
|
||||||
val setterDescriptor = accessorDescriptor as? PropertySetterDescriptor ?: TODO("not a setter?")
|
val setterDescriptor = accessorDescriptor as? PropertySetterDescriptor ?: TODO("not a setter?")
|
||||||
val irSetterBody = generateFunctionBody(setterDescriptor, ktSetter.bodyExpression ?: TODO("default setter"))
|
val irSetter = IrPropertySetterImpl(ktSetter.startOffset, ktSetter.endOffset, IrDeclarationOrigin.DEFINED, setterDescriptor)
|
||||||
IrPropertySetterImpl(ktSetter.startOffset, ktSetter.endOffset, IrDeclarationOrigin.DEFINED,
|
irSetter.body = ktSetter.bodyExpression?.let { generateFunctionBody(setterDescriptor, it ) }
|
||||||
setterDescriptor, irSetterBody)
|
irSetter
|
||||||
}
|
}
|
||||||
|
|
||||||
return irProperty
|
return irProperty
|
||||||
|
|||||||
Reference in New Issue
Block a user