From a6376266014f73c8786e3f04034be409cab5d70e Mon Sep 17 00:00:00 2001 From: Jaebaek Seo Date: Tue, 22 Nov 2022 14:55:07 -0800 Subject: [PATCH] Handle context receiver in KtModifierListOwner.addModifierList() The existing `KtModifierListOwner.addModifierList(newModifierList)` function adds a visibility keyword (e.g., `private`) in front of the `context(..)` modifier, which generates wrong code. This commit fixes it. ^KTIJ-23728 fixed --- compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt b/compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt index f8031ae28b6..2cd853a6283 100644 --- a/compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt +++ b/compiler/psi/src/org/jetbrains/kotlin/psi/addRemoveModifier.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.psi.psiUtil.siblings private fun KtModifierListOwner.addModifierList(newModifierList: KtModifierList): KtModifierList { val anchor = firstChild!! .siblings(forward = true) - .dropWhile { it is PsiComment || it is PsiWhiteSpace } + .dropWhile { it is PsiComment || it is PsiWhiteSpace || it is KtContextReceiverList } .first() return addBefore(newModifierList, anchor) as KtModifierList }