diff --git a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertSecondaryConstructorToPrimaryIntention.kt b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertSecondaryConstructorToPrimaryIntention.kt index 432ad921d47..b8b827e1921 100644 --- a/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertSecondaryConstructorToPrimaryIntention.kt +++ b/idea/src/org/jetbrains/kotlin/idea/intentions/ConvertSecondaryConstructorToPrimaryIntention.kt @@ -26,6 +26,8 @@ import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.psiUtil.containingClass import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject +import org.jetbrains.kotlin.psi.psiUtil.endOffset +import org.jetbrains.kotlin.psi.psiUtil.startOffset import org.jetbrains.kotlin.resolve.BindingContext import org.jetbrains.kotlin.resolve.DescriptorToSourceUtils @@ -65,7 +67,7 @@ class ConvertSecondaryConstructorToPrimaryIntention : SelfTargetingRangeIntentio if (!elementDescriptor.isReachableByDelegationFrom(constructorDescriptor, context)) return null } - return element.textRange + return TextRange(element.startOffset, element.valueParameterList?.endOffset ?: element.getConstructorKeyword().endOffset) } private fun KtExpression.tryConvertToPropertyByParameterInitialization( diff --git a/idea/testData/quickfix/createFromUsage/createSecondaryConstructor/superCallNoClass.kt b/idea/testData/quickfix/createFromUsage/createSecondaryConstructor/superCallNoClass.kt index 658bd7d912f..e82afcef257 100644 --- a/idea/testData/quickfix/createFromUsage/createSecondaryConstructor/superCallNoClass.kt +++ b/idea/testData/quickfix/createFromUsage/createSecondaryConstructor/superCallNoClass.kt @@ -1,6 +1,5 @@ // "Create secondary constructor" "false" // ERROR: Too many arguments for public constructor Any() defined in kotlin.Any -// ACTION: Convert to primary constructor // WITH_RUNTIME interface T {