From d2dbc47454c6ee2f94f4a1e3a56a1617a12c2d09 Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Wed, 12 Jul 2017 13:29:24 +0300 Subject: [PATCH] Create from Usage: Remove extra space before type parameters list #KT-16352 Fixed --- .../createFromUsage/callableBuilder/CallableBuilder.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt index d7504110aa8..6a957b5be7f 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt @@ -27,6 +27,7 @@ import com.intellij.openapi.editor.ScrollType import com.intellij.openapi.fileEditor.FileEditorManager import com.intellij.openapi.fileEditor.OpenFileDescriptor import com.intellij.openapi.ui.DialogWrapper +import com.intellij.openapi.util.UnfairTextRange import com.intellij.psi.* import com.intellij.psi.codeStyle.CodeStyleManager import com.intellij.psi.codeStyle.JavaCodeStyleManager @@ -718,7 +719,11 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { typeParameterMap, callableInfo.kind != CallableKind.CLASS_WITH_PRIMARY_CONSTRUCTOR ) - builder.replaceElement(typeParameterList, expression, false) + val leftSpace = typeParameterList.prevSibling as? PsiWhiteSpace + val rangeStart = if (leftSpace != null) leftSpace.startOffset else typeParameterList.startOffset + val offset = typeParameterList.startOffset + val range = UnfairTextRange(rangeStart - offset, typeParameterList.endOffset - offset) + builder.replaceElement(typeParameterList, range, "TYPE_PARAMETER_LIST", expression, false) return expression }