From e81631a3af5281776521eee1df767dfd2c4afe31 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Fri, 17 Oct 2014 22:09:36 +0400 Subject: [PATCH] J2K: refactored code to make createDefaultCodeConverter() private --- j2k/src/org/jetbrains/jet/j2k/Converter.kt | 7 +++++-- j2k/src/org/jetbrains/jet/j2k/JavaToKotlinConverter.kt | 5 +---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/j2k/src/org/jetbrains/jet/j2k/Converter.kt b/j2k/src/org/jetbrains/jet/j2k/Converter.kt index ff0cdc38dbf..0047b68a8b0 100644 --- a/j2k/src/org/jetbrains/jet/j2k/Converter.kt +++ b/j2k/src/org/jetbrains/jet/j2k/Converter.kt @@ -26,6 +26,7 @@ import com.intellij.psi.util.PsiMethodUtil import com.intellij.psi.util.PsiTreeUtil import org.jetbrains.jet.j2k.usageProcessing.UsageProcessing import org.jetbrains.jet.j2k.usageProcessing.FieldToPropertyProcessing +import org.jetbrains.jet.j2k.usageProcessing.UsageProcessingExpressionConverter class Converter private(private val elementToConvert: PsiElement, val settings: ConverterSettings, @@ -69,7 +70,7 @@ class Converter private(private val elementToConvert: PsiElement, private fun withState(state: PersonalState): Converter = Converter(elementToConvert, settings, conversionScope, referenceSearcher, postProcessor, commonState, state) - /*TODO: it should be private*/ fun createDefaultCodeConverter() = CodeConverter(this, DefaultExpressionConverter(), DefaultStatementConverter(), null) + private fun createDefaultCodeConverter() = CodeConverter(this, DefaultExpressionConverter(), DefaultStatementConverter(), null) public fun convert(): Element? = convertTopElement(elementToConvert) @@ -90,7 +91,9 @@ class Converter private(private val elementToConvert: PsiElement, public val usageProcessings: Collection get() = commonState.usageProcessings - public fun unfoldLazyElements(codeConverter: CodeConverter) { + public fun unfoldLazyElements(usageProcessings: Collection) { + val codeConverter = createDefaultCodeConverter().withSpecialExpressionConverter(UsageProcessingExpressionConverter(usageProcessings)) + // we use loop with index because new lazy elements can be added during unfolding var i = 0 while (i < commonState.lazyElements.size) { diff --git a/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinConverter.kt b/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinConverter.kt index e4bceb4c36d..e319a8ac6c9 100644 --- a/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinConverter.kt +++ b/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinConverter.kt @@ -53,10 +53,7 @@ public class JavaToKotlinConverter(private val project: Project, val converter = Converter.create(psiElement, settings, conversionScope, referenceSearcher, postProcessor) val element = converter.convert() ?: return "" - val codeConverter = converter.createDefaultCodeConverter() - .withSpecialExpressionConverter(UsageProcessingExpressionConverter(converter.usageProcessings)) - - converter.unfoldLazyElements(codeConverter) + converter.unfoldLazyElements(converter.usageProcessings) val builder = CodeBuilder(psiElement) builder.append(element)