Convert to primary constructor: minor enhancement (KT-19629)

This commit is contained in:
Mikhail Glukhikh
2018-05-11 17:46:09 +03:00
parent 67d2abbe5e
commit 1012bdb577
@@ -101,8 +101,7 @@ class ConvertSecondaryConstructorToPrimaryIntention : SelfTargetingRangeIntentio
val initializer = factory.createAnonymousInitializer() as? KtClassInitializer
for (statement in bodyExpression?.statements ?: emptyList()) {
val (rightDescriptor, leftDescriptor) =
statement.tryConvertToPropertyByParameterInitialization(constructorDescriptor, context)
?: with(initializer) {
statement.tryConvertToPropertyByParameterInitialization(constructorDescriptor, context) ?: with(initializer) {
(initializer?.body as? KtBlockExpression)?.let {
it.addBefore(statement.copy(), it.rBrace)
it.addBefore(factory.createNewLine(), it.rBrace)
@@ -191,11 +190,12 @@ class ConvertSecondaryConstructorToPrimaryIntention : SelfTargetingRangeIntentio
if (hasPropertyAfterInitializer) {
// In this case we must move init {} down, because it uses a property declared below
klass.addDeclaration(initializer)
element.delete()
} else {
klass.addDeclarationAfter(initializer, element)
element.replace(initializer)
}
} else {
element.delete()
}
element.delete()
}
}