Minor: secondary constructor to primary is suggested only on keyword and value parameter list

(cherry picked from commit 9a3e6d3)
This commit is contained in:
Mikhail Glukhikh
2016-09-30 16:08:43 +03:00
committed by Mikhail Glukhikh
parent 0a4542c6c0
commit e417a85276
2 changed files with 3 additions and 2 deletions
@@ -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(
@@ -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 {