From 184825d59dc387f46af00023556d8e462576e96b Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 10 Jun 2019 19:22:40 +0300 Subject: [PATCH] New J2K: remove open modifier for top level functions on post-processing #KT-31678 fixed --- .../kotlin/nj2k/postProcessing/J2kPostProcessor.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt index f3e8233c113..42e62bfe650 100644 --- a/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt +++ b/nj2k/nj2k-services/src/org/jetbrains/kotlin/nj2k/postProcessing/J2kPostProcessor.kt @@ -10,6 +10,7 @@ import com.intellij.openapi.application.ModalityState import com.intellij.openapi.command.CommandProcessor import com.intellij.openapi.editor.RangeMarker import com.intellij.psi.PsiElement +import com.intellij.psi.impl.source.tree.LeafPsiElement import com.intellij.psi.search.LocalSearchScope import com.intellij.psi.search.searches.ReferencesSearch import kotlinx.coroutines.runBlocking @@ -39,6 +40,7 @@ import org.jetbrains.kotlin.j2k.PostProcessor import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.nj2k.NewJ2kConverterContext +import org.jetbrains.kotlin.nj2k.parentOfType import org.jetbrains.kotlin.nj2k.postProcessing.processings.* import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode @@ -290,6 +292,13 @@ private val processings: List = listOf( exclExclExpr.replace(baseExpression) } }, + diagnosticBasedProcessing( + Errors.WRONG_MODIFIER_TARGET + ) { element, _ -> + if (element.elementType == KtTokens.OPEN_KEYWORD) { + element.parentOfType()?.removeModifier(KtTokens.OPEN_KEYWORD) + } + }, RemoveForExpressionLoopParameterTypeProcessing() ) )