From d52ec27b27370b1370bf6c0ef6cd3cee6e1215ff Mon Sep 17 00:00:00 2001 From: Jinseong Jeon Date: Thu, 26 Sep 2024 14:22:49 -0700 Subject: [PATCH] Adapt to PSI parsing change for property accessor with parenthesis ^KT-70922 GitOrigin-RevId: 210c5987f4162929d76a52b3827ffc852b5d0b3a --- .../handlers/fixers/KotlinPropertySetterParametersFixer.kt | 4 +++- .../org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.kt | 2 +- .../src/org/jetbrains/kotlin/idea/base/psi/KotlinPsiUtils.kt | 3 +-- .../emptyParameters/EmptyParameterInGetter.after.kt | 3 +-- .../enterHandler/emptyParameters/EmptyParameterInGetter.kt | 3 +-- .../emptyParameters/EmptyParameterInSetter.after.kt | 3 +-- .../enterHandler/emptyParameters/EmptyParameterInSetter.kt | 3 +-- 7 files changed, 9 insertions(+), 12 deletions(-) diff --git a/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/codeInsight/handlers/fixers/KotlinPropertySetterParametersFixer.kt b/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/codeInsight/handlers/fixers/KotlinPropertySetterParametersFixer.kt index a2ddd9e8ab6a..a99fdc7b12a4 100644 --- a/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/codeInsight/handlers/fixers/KotlinPropertySetterParametersFixer.kt +++ b/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/codeInsight/handlers/fixers/KotlinPropertySetterParametersFixer.kt @@ -27,7 +27,9 @@ class KotlinPropertySetterParametersFixer : SmartEnterProcessorWithFixers.Fixer< val doc = editor.document - val parameterOffset = (psiElement.leftParenthesis?.node?.startOffset ?: return) + 1 + val leftParenthesis = psiElement.leftParenthesis ?: psiElement.parameterList?.leftParenthesis + + val parameterOffset = (leftParenthesis?.node?.startOffset ?: return) + 1 if (parameter?.text.isNullOrBlank()) { if (psiElement.rightParenthesis == null) { diff --git a/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.kt b/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.kt index af5b72d6acf2..2b9abf2debc6 100644 --- a/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.kt +++ b/plugins/kotlin/base/code-insight/minimal/src/org/jetbrains/kotlin/idea/editor/KotlinTypedHandler.kt @@ -331,7 +331,7 @@ class KotlinTypedHandler : TypedHandlerDelegate() { } c == '(' -> { - if (KotlinTypedHandlerHelper.autoIndentCase(editor, project, file, KtPropertyAccessor::class.java, forFirstElement = false)) return Result.STOP + if (KotlinTypedHandlerHelper.autoIndentCase(editor, project, file, KtParameterList::class.java, forFirstElement = false)) return Result.STOP } } diff --git a/plugins/kotlin/base/psi/src/org/jetbrains/kotlin/idea/base/psi/KotlinPsiUtils.kt b/plugins/kotlin/base/psi/src/org/jetbrains/kotlin/idea/base/psi/KotlinPsiUtils.kt index 90783f930e93..c6427dc725c5 100644 --- a/plugins/kotlin/base/psi/src/org/jetbrains/kotlin/idea/base/psi/KotlinPsiUtils.kt +++ b/plugins/kotlin/base/psi/src/org/jetbrains/kotlin/idea/base/psi/KotlinPsiUtils.kt @@ -165,8 +165,7 @@ fun KtDeclaration.isEffectivelyActual(checkConstructor: Boolean = true): Boolean } fun KtPropertyAccessor.deleteBody() { - val leftParenthesis = leftParenthesis ?: return - deleteChildRange(leftParenthesis, lastChild) + deleteChildRange(parameterList ?: return, lastChild) } /** diff --git a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.after.kt b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.after.kt index a251855083fc..c228857bdd0b 100644 --- a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.after.kt +++ b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.after.kt @@ -4,5 +4,4 @@ class Test { ) } -// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS -// IGNORE_FORMATTER \ No newline at end of file +// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.kt b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.kt index db3f66f8ff7f..661538d08346 100644 --- a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.kt +++ b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInGetter.kt @@ -2,5 +2,4 @@ class Test { val a: Boolean get() } -// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS -// IGNORE_FORMATTER \ No newline at end of file +// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.after.kt b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.after.kt index e31ab72c5cb2..18c9cfc463fb 100644 --- a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.after.kt +++ b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.after.kt @@ -6,5 +6,4 @@ class Test { ) } -// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS -// IGNORE_FORMATTER \ No newline at end of file +// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.kt b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.kt index 309e334cf186..a856508dd398 100644 --- a/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.kt +++ b/plugins/kotlin/idea/tests/testData/editor/enterHandler/emptyParameters/EmptyParameterInSetter.kt @@ -4,5 +4,4 @@ class Test { set() } -// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS -// IGNORE_FORMATTER \ No newline at end of file +// SET_FALSE: ALIGN_MULTILINE_METHOD_BRACKETS \ No newline at end of file