Override/Implement: Do not insert super-call into extension body

Such super-calls are not are supported yet

 #KT-4311 Fixed
This commit is contained in:
Alexey Sedunov
2018-06-08 15:02:33 +03:00
parent c49eede054
commit 5f87e84966
4 changed files with 31 additions and 2 deletions
@@ -102,9 +102,14 @@ interface OverrideMemberChooserObject : ClassMember {
fun OverrideMemberChooserObject.generateMember(targetClass: KtClassOrObject, copyDoc: Boolean): KtCallableDeclaration {
val project = targetClass.project
val bodyType = if (targetClass.hasExpectModifier()) OverrideMemberChooserObject.BodyType.NO_BODY else bodyType
val descriptor = immediateSuper
val bodyType = when {
targetClass.hasExpectModifier() -> OverrideMemberChooserObject.BodyType.NO_BODY
descriptor.extensionReceiverParameter != null -> OverrideMemberChooserObject.BodyType.EMPTY
else -> bodyType
}
if (preferConstructorParameter && descriptor is PropertyDescriptor) return generateConstructorParameter(project, descriptor)
val newMember: KtCallableDeclaration = when (descriptor) {