From 254179321c8d0a1a7a4f46ae71fcff53fda85df1 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Thu, 10 May 2018 17:40:04 +0300 Subject: [PATCH] New J2K: Rename visitable JKElement to JKTreeElement --- .../jetbrains/kotlin/j2k/ConversionsRunner.kt | 4 +-- .../kotlin/j2k/JavaToJKTreeBuilder.kt | 4 +-- .../jetbrains/kotlin/j2k/NewCodeBuilder.kt | 6 ++--- .../kotlin/j2k/NewJavaToKotlinConverter.kt | 4 +-- .../kotlin/j2k/conversions/BaseConversion.kt | 4 +-- .../JavaFieldToKotlinPropertyConversion.kt | 6 ++--- .../conversions/TransformerBasedConversion.kt | 4 +-- .../kotlin/j2k/tree/DebugTreePrinter.kt | 4 +-- .../tree/conveersionCache/Implementations.kt | 6 ++--- .../org/jetbrains/kotlin/j2k/tree/impl/jk.kt | 22 ++++++++-------- .../org/jetbrains/kotlin/j2k/tree/jk.kt | 26 +++++++++---------- .../org/jetbrains/kotlin/j2k/tree/markers.kt | 12 ++++----- .../GenerateJKTreeVisitorAndTransformer.kts | 10 +++---- .../kotlin/j2k/tree/visitors/JKVisitor.kt | 2 +- .../kotlin/j2k/tree/visitors/JKVisitorVoid.kt | 4 +-- 15 files changed, 59 insertions(+), 59 deletions(-) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt index 2dcf4cf483d..3e68ea52c42 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt @@ -18,11 +18,11 @@ package org.jetbrains.kotlin.j2k import org.jetbrains.kotlin.j2k.conversions.JavaFieldToKotlinPropertyConversion import org.jetbrains.kotlin.j2k.conversions.JavaMethodToKotlinFunctionConversion -import org.jetbrains.kotlin.j2k.tree.JKElement +import org.jetbrains.kotlin.j2k.tree.JKTreeElement object ConversionsRunner { - fun doApply(trees: List) { + fun doApply(trees: List) { trees.forEach { JavaFieldToKotlinPropertyConversion().runConversion(it) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt index 50c1759acdb..0c2defd0cd1 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt @@ -318,7 +318,7 @@ class JavaToJKTreeBuilder : ReferenceTargetProvider { private inner class ElementVisitor(val declarationMapper: DeclarationMapper) : JavaElementVisitor() { - var resultElement: JKElement? = null + var resultElement: JKTreeElement? = null override fun visitClass(aClass: PsiClass) { resultElement = with(declarationMapper) { aClass.toJK() } @@ -338,7 +338,7 @@ class JavaToJKTreeBuilder : ReferenceTargetProvider { } - fun buildTree(psi: PsiElement): JKElement? { + fun buildTree(psi: PsiElement): JKTreeElement? { assert(psi.language.`is`(JavaLanguage.INSTANCE)) { "Unable to build JK Tree using Java Visitor for language ${psi.language}" } val elementVisitor = ElementVisitor(declarationMapper) psi.accept(elementVisitor) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt index d9a86b38016..0278c01bf5e 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt @@ -17,7 +17,7 @@ package org.jetbrains.kotlin.j2k import org.jetbrains.kotlin.j2k.tree.JKClass -import org.jetbrains.kotlin.j2k.tree.JKElement +import org.jetbrains.kotlin.j2k.tree.JKTreeElement import org.jetbrains.kotlin.j2k.tree.JKUniverseClass import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor import org.jetbrains.kotlin.utils.Printer @@ -37,7 +37,7 @@ class NewCodeBuilder { inner class Visitor : JKVisitor { - override fun visitElement(element: JKElement, data: Unit) { + override fun visitElement(element: JKTreeElement, data: Unit) { printer.print("/* !!! Hit visitElement for element type: ${element::class} !!! */") } @@ -56,7 +56,7 @@ class NewCodeBuilder { } - fun printCodeOut(root: JKElement): String { + fun printCodeOut(root: JKTreeElement): String { Visitor().also { root.accept(it, Unit) } return builder.toString() } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewJavaToKotlinConverter.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewJavaToKotlinConverter.kt index 9851eb8337b..5ac3acc7d40 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewJavaToKotlinConverter.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewJavaToKotlinConverter.kt @@ -20,7 +20,7 @@ import com.intellij.openapi.progress.EmptyProgressIndicator import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.project.Project import com.intellij.psi.PsiJavaFile -import org.jetbrains.kotlin.j2k.tree.JKElement +import org.jetbrains.kotlin.j2k.tree.JKTreeElement import org.jetbrains.kotlin.j2k.tree.prettyDebugPrintTree class NewJavaToKotlinConverter( @@ -28,7 +28,7 @@ class NewJavaToKotlinConverter( private val settings: ConverterSettings ) { - private fun List.prettyPrintTrees() = buildString { + private fun List.prettyPrintTrees() = buildString { for (tree in this@prettyPrintTrees) { appendln() appendln(tree.prettyDebugPrintTree()) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BaseConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BaseConversion.kt index f29ba2496b8..feded069a3a 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BaseConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/BaseConversion.kt @@ -16,12 +16,12 @@ package org.jetbrains.kotlin.j2k.conversions -import org.jetbrains.kotlin.j2k.tree.JKElement +import org.jetbrains.kotlin.j2k.tree.JKTreeElement abstract class BaseConversion { /** * @return true if something changed */ - abstract fun runConversion(treeRoot: JKElement): Boolean + abstract fun runConversion(treeRoot: JKTreeElement): Boolean } \ No newline at end of file diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaFieldToKotlinPropertyConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaFieldToKotlinPropertyConversion.kt index d9a6f71555c..faa1cda5724 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaFieldToKotlinPropertyConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/JavaFieldToKotlinPropertyConversion.kt @@ -16,7 +16,7 @@ package org.jetbrains.kotlin.j2k.conversions -import org.jetbrains.kotlin.j2k.tree.JKElement +import org.jetbrains.kotlin.j2k.tree.JKTreeElement import org.jetbrains.kotlin.j2k.tree.JKJavaField import org.jetbrains.kotlin.j2k.tree.JKJavaMethod import org.jetbrains.kotlin.j2k.tree.JKUniverseClass @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.j2k.tree.impl.JKKtFunctionImpl import org.jetbrains.kotlin.j2k.tree.impl.JKKtPropertyImpl class JavaFieldToKotlinPropertyConversion : TransformerBasedConversion() { - override fun visitElement(element: JKElement) { + override fun visitElement(element: JKTreeElement) { element.acceptChildren(this, null) } @@ -46,7 +46,7 @@ class JavaFieldToKotlinPropertyConversion : TransformerBasedConversion() { } class JavaMethodToKotlinFunctionConversion : TransformerBasedConversion() { - override fun visitElement(element: JKElement) { + override fun visitElement(element: JKTreeElement) { element.acceptChildren(this, null) } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TransformerBasedConversion.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TransformerBasedConversion.kt index 7b0268fa945..799e4f605df 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TransformerBasedConversion.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/conversions/TransformerBasedConversion.kt @@ -16,13 +16,13 @@ package org.jetbrains.kotlin.j2k.conversions -import org.jetbrains.kotlin.j2k.tree.JKElement +import org.jetbrains.kotlin.j2k.tree.JKTreeElement import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitorVoid abstract class TransformerBasedConversion : BaseConversion(), JKVisitorVoid { protected var somethingChanged = false - override fun runConversion(treeRoot: JKElement): Boolean { + override fun runConversion(treeRoot: JKTreeElement): Boolean { somethingChanged = false treeRoot.accept(this, null) return somethingChanged diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/DebugTreePrinter.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/DebugTreePrinter.kt index dea92779244..2a94552ffc1 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/DebugTreePrinter.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/DebugTreePrinter.kt @@ -23,7 +23,7 @@ private class DebugTreePrinter : JKVisitorVoid { internal val stringBuilder = StringBuilder() private val printer = Printer(stringBuilder) - override fun visitElement(element: JKElement) { + override fun visitElement(element: JKTreeElement) { printer.println(element.classNameWithoutJK(), " [") printer.indented { element.acceptChildren(this, null) @@ -107,4 +107,4 @@ private inline fun Printer.indented(block: () -> Unit) { } -fun JKElement.prettyDebugPrintTree(): String = DebugTreePrinter().apply { accept(this, null) }.stringBuilder.toString() \ No newline at end of file +fun JKTreeElement.prettyDebugPrintTree(): String = DebugTreePrinter().apply { accept(this, null) }.stringBuilder.toString() \ No newline at end of file diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/conveersionCache/Implementations.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/conveersionCache/Implementations.kt index 30cf9136269..d12ab430a9d 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/conveersionCache/Implementations.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/conveersionCache/Implementations.kt @@ -20,10 +20,10 @@ import org.jetbrains.kotlin.j2k.tree.* import org.jetbrains.kotlin.j2k.tree.impl.JKJavaPrimitiveTypeImpl import org.jetbrains.kotlin.j2k.tree.impl.JKModifierListImpl -abstract class JKMultiverseElementBase : JKTreeElement { - override var parent: JKTreeElement? = null +abstract class JKMultiverseElementBase : JKElement { + override var parent: JKElement? = null - fun D.setParent(p: JKElement): D { + fun D.setParent(p: JKTreeElement): D { parent = p return this } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt index 1bad6498133..492ca5c2ade 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt @@ -23,7 +23,7 @@ import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty -private class JKChild(val value: Int) : ReadWriteProperty { +private class JKChild(val value: Int) : ReadWriteProperty { override operator fun getValue(thisRef: JKMutableBranchElement, property: KProperty<*>): T { return thisRef.children[value] as T } @@ -44,14 +44,14 @@ class JKListChild() : ReadWriteProperty) + thisRef.children.addAll(value as List) } } -abstract class JKElementBase : JKElement { - override var parent: JKTreeElement? = null +abstract class JKElementBase : JKTreeElement { + override var parent: JKElement? = null - fun D.setParent(p: JKElement): D { + fun D.setParent(p: JKTreeElement): D { parent = p return this } @@ -62,7 +62,7 @@ abstract class JKElementBase : JKElement { } interface JKMutableBranchElement : JKBranchElement { - override val children: MutableList + override val children: MutableList } abstract class JKBranchElementBase : JKElementBase(), JKMutableBranchElement { @@ -71,21 +71,21 @@ abstract class JKBranchElementBase : JKElementBase(), JKMutableBranchElement { } protected var childNum = 0 - protected fun child(v: U): ReadWriteProperty { + protected fun child(v: U): ReadWriteProperty { return JKChild(childNum++) } - override val children: MutableList = mutableListOf() + override val children: MutableList = mutableListOf() } abstract class JKElementListBase: JKElementBase(), JKMutableBranchElement { - override val children: MutableList = mutableListOf() + override val children: MutableList = mutableListOf() - protected inline fun children(): JKListChild { + protected inline fun children(): JKListChild { return JKListChild() } - protected inline fun children(v: List): JKListChild { + protected inline fun children(v: List): JKListChild { children.addAll(v) return JKListChild() } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt index b743a47b7f1..513283781a8 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt @@ -19,15 +19,15 @@ package org.jetbrains.kotlin.j2k.tree import org.jetbrains.kotlin.j2k.ast.Nullability import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor -interface JKElement : JKTreeElement { +interface JKTreeElement : JKElement { fun accept(visitor: JKVisitor, data: D): R fun acceptChildren(visitor: JKVisitor, data: D) } -interface JKUniverseDeclaration : JKElement, JKDeclaration +interface JKUniverseDeclaration : JKTreeElement, JKDeclaration -interface JKDeclarationList : JKTreeElement { +interface JKDeclarationList : JKElement { var declarations: List } @@ -35,9 +35,9 @@ interface JKUniverseClass : JKUniverseDeclaration, JKClass { override val declarationList: JKDeclarationList } -interface JKModifier : JKElement +interface JKModifier : JKTreeElement -interface JKModifierList : JKBranchElement, JKElement { +interface JKModifierList : JKBranchElement, JKTreeElement { var modifiers: List } @@ -45,7 +45,7 @@ interface JKAccessModifier : JKModifier interface JKModalityModifier : JKModifier -interface JKReference : JKElement { +interface JKReference : JKTreeElement { val target: JKReferenceTarget val referenceType: JKReferenceType @@ -66,7 +66,7 @@ interface JKClassReference : JKReference { override val target: JKClass } -interface JKType : JKElement +interface JKType : JKTreeElement interface JKClassType : JKType { val classReference: JKClassReference @@ -74,21 +74,21 @@ interface JKClassType : JKType { val parameters: List } -interface JKStatement : JKElement +interface JKStatement : JKTreeElement interface JKLoop : JKStatement -interface JKBlock : JKElement { +interface JKBlock : JKTreeElement { var statements: List } -interface JKIdentifier : JKElement +interface JKIdentifier : JKTreeElement interface JKNameIdentifier : JKIdentifier { val name: String } -interface JKExpression : JKElement +interface JKExpression : JKTreeElement interface JKExpressionStatement : JKStatement { val expression: JKExpression @@ -138,7 +138,7 @@ interface JKTypeCastExpression : JKExpression { val type: JKType } -interface JKExpressionList : JKElement { +interface JKExpressionList : JKTreeElement { var expressions: List } @@ -151,7 +151,7 @@ interface JKLiteralExpression : JKExpression { } } -interface JKValueArgument : JKElement { +interface JKValueArgument : JKTreeElement { var type: JKType val name: String } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/markers.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/markers.kt index 2298811e36f..190de1218b4 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/markers.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/markers.kt @@ -16,16 +16,16 @@ package org.jetbrains.kotlin.j2k.tree -interface JKOperator: JKElement +interface JKOperator: JKTreeElement interface JKQualifier -interface JKTreeElement { - var parent: JKTreeElement? +interface JKElement { + var parent: JKElement? } -interface JKBranchElement : JKTreeElement { - val children: List +interface JKBranchElement : JKElement { + val children: List } interface JKModifierListOwner { @@ -36,7 +36,7 @@ interface JKReferenceTarget { val valid: Boolean } -interface JKDeclaration : JKTreeElement, JKReferenceTarget +interface JKDeclaration : JKElement, JKReferenceTarget interface JKClass : JKDeclaration, JKModifierListOwner { val name: JKNameIdentifier diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/GenerateJKTreeVisitorAndTransformer.kts b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/GenerateJKTreeVisitorAndTransformer.kts index c9d6aee8786..310e1f28d2e 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/GenerateJKTreeVisitorAndTransformer.kts +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/GenerateJKTreeVisitorAndTransformer.kts @@ -98,7 +98,7 @@ fun genVisitors(commonData: List, uncommonData: List val nameWithoutPrefix = name.removePrefix("JK") val argName = nameWithoutPrefix.decapitalize().safeVarName() - val generifyCall = if (name != "JKElement") "= visit${ext!!.removePrefix("JK")}($argName, data)" else "" + val generifyCall = if (name != "JKTreeElement") "= visit${ext!!.removePrefix("JK")}($argName, data)" else "" """ | fun visit$nameWithoutPrefix($argName: $name, data: D): R $generifyCall """.trimMargin() @@ -119,7 +119,7 @@ fun genVisitors(commonData: List, uncommonData: List, uncommonData: List : JKVisitor {") + appendln("interface $transformerName : JKVisitor {") interfaceData.joinTo(this, separator = "\n") { (name, ext) -> val nameWithoutPrefix = name.removePrefix("JK") @@ -144,7 +144,7 @@ fun genVisitors(commonData: List, uncommonData: List, uncommonData: List { - fun visitElement(element: JKElement, data: D): R + fun visitElement(element: JKTreeElement, data: D): R fun visitUniverseDeclaration(universeDeclaration: JKUniverseDeclaration, data: D): R = visitElement(universeDeclaration, data) fun visitUniverseClass(universeClass: JKUniverseClass, data: D): R = visitUniverseDeclaration(universeClass, data) fun visitModifier(modifier: JKModifier, data: D): R = visitElement(modifier, data) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt index 296f0f037c1..b65dea063c7 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt @@ -3,8 +3,8 @@ package org.jetbrains.kotlin.j2k.tree.visitors import org.jetbrains.kotlin.j2k.tree.* interface JKVisitorVoid : JKVisitor { - fun visitElement(element: JKElement) - override fun visitElement(element: JKElement, data: Nothing?) = visitElement(element) + fun visitElement(element: JKTreeElement) + override fun visitElement(element: JKTreeElement, data: Nothing?) = visitElement(element) fun visitUniverseDeclaration(universeDeclaration: JKUniverseDeclaration) = visitElement(universeDeclaration, null) override fun visitUniverseDeclaration(universeDeclaration: JKUniverseDeclaration, data: Nothing?) = visitUniverseDeclaration(universeDeclaration) fun visitUniverseClass(universeClass: JKUniverseClass) = visitUniverseDeclaration(universeClass, null)