diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/FieldToPropertyConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/FieldToPropertyConversion.kt index bb3aa0f132f..1e7c6540383 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/FieldToPropertyConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/FieldToPropertyConversion.kt @@ -5,25 +5,12 @@ package org.jetbrains.kotlin.j2k.conversions -import org.jetbrains.kotlin.j2k.ConversionContext import org.jetbrains.kotlin.j2k.tree.* import org.jetbrains.kotlin.j2k.tree.impl.JKBlockImpl import org.jetbrains.kotlin.j2k.tree.impl.JKKtPropertyImpl import org.jetbrains.kotlin.load.java.JvmAbi -class FieldToPropertyConversion : MatchBasedConversion() { - override fun onElementChanged(new: JKTreeElement, old: JKTreeElement) { - somethingChanged = true - } - - - var somethingChanged = false - - override fun runConversion(treeRoot: JKTreeElement, context: ConversionContext): Boolean { - val root = applyToElement(treeRoot) - assert(root === treeRoot) - return somethingChanged - } +class FieldToPropertyConversion : RecursiveApplicableConversionBase() { data class PropertyInfo( val name: String, @@ -32,7 +19,7 @@ class FieldToPropertyConversion : MatchBasedConversion() { var field: JKJavaField? = null ) - fun applyToElement(element: JKTreeElement): JKTreeElement { + override fun applyToElement(element: JKTreeElement): JKTreeElement { if (element !is JKClass) return applyRecursive(element, this::applyToElement) val propertyInfos = mutableMapOf() diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt index 653d507fb48..046e0f1f541 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TypeMappingConversion.kt @@ -22,21 +22,9 @@ import org.jetbrains.kotlin.psi.analysisContext import org.jetbrains.kotlin.psi.psiUtil.getChildOfType import org.jetbrains.kotlin.resolve.ImportPath -class TypeMappingConversion(val context: ConversionContext) : MatchBasedConversion() { - override fun onElementChanged(new: JKTreeElement, old: JKTreeElement) { - somethingChanged = true - } +class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicableConversionBase() { - override fun runConversion(treeRoot: JKTreeElement, context: ConversionContext): Boolean { - val root = applyToElement(treeRoot) - assert(root === treeRoot) - return somethingChanged - } - - var somethingChanged = false - - - fun applyToElement(element: JKTreeElement): JKTreeElement { + override fun applyToElement(element: JKTreeElement): JKTreeElement { return if (element is JKTypeElement) { val type = element.type when (type) {