From c1f50d35948ec35b8f10c72729892782c94df639 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Sat, 14 Oct 2017 01:43:03 +0300 Subject: [PATCH] New J2K: Drop separated visitors --- j2k/GenerateJKTreeVisitorAndTransformer.kts | 22 ++--- .../org/jetbrains/kotlin/j2k/tree/impl/j.kt | 44 +++------- .../org/jetbrains/kotlin/j2k/tree/impl/jk.kt | 2 +- .../org/jetbrains/kotlin/j2k/tree/jk.kt | 2 +- .../j2k/tree/visitors/JKJavaKtTransformer.kt | 19 ---- .../j2k/tree/visitors/JKJavaKtVisitor.kt | 3 - .../j2k/tree/visitors/JKJavaKtVisitorVoid.kt | 19 ---- .../j2k/tree/visitors/JKJavaTransformer.kt | 14 --- .../tree/visitors/JKJavaTransformerVoid.kt | 22 ----- .../kotlin/j2k/tree/visitors/JKJavaVisitor.kt | 14 --- .../j2k/tree/visitors/JKJavaVisitorVoid.kt | 22 ----- .../j2k/tree/visitors/JKKtTransformer.kt | 11 --- .../j2k/tree/visitors/JKKtTransformerVoid.kt | 16 ---- .../kotlin/j2k/tree/visitors/JKKtVisitor.kt | 11 --- .../j2k/tree/visitors/JKKtVisitorVoid.kt | 16 ---- .../kotlin/j2k/tree/visitors/JKTransformer.kt | 45 ++++++---- .../j2k/tree/visitors/JKTransformerVoid.kt | 86 ++++++++++++------- .../kotlin/j2k/tree/visitors/JKVisitor.kt | 15 +++- .../kotlin/j2k/tree/visitors/JKVisitorVoid.kt | 26 ++++++ 19 files changed, 147 insertions(+), 262 deletions(-) delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtTransformer.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitor.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitorVoid.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformer.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformerVoid.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitor.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitorVoid.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformer.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformerVoid.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitor.kt delete mode 100644 j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitorVoid.kt diff --git a/j2k/GenerateJKTreeVisitorAndTransformer.kts b/j2k/GenerateJKTreeVisitorAndTransformer.kts index 8cb6b0d2512..bb96071446c 100644 --- a/j2k/GenerateJKTreeVisitorAndTransformer.kts +++ b/j2k/GenerateJKTreeVisitorAndTransformer.kts @@ -69,8 +69,8 @@ fun genVisitors(interfaceData: List, visitorName: String, transfo appendln() appendln("import org.jetbrains.kotlin.j2k.tree.*") appendln() - val extends = visitorExtends?.let { " : $it" } ?: "" - appendln("interface $visitorName$extends {") + val extends = visitorExtends?.let { " : $it" } ?: "" + appendln("interface $visitorName$extends {") interfaceData.joinTo(this, separator = "\n") { (name, ext) -> val nameWithoutPrefix = name.removePrefix("JK") val argName = nameWithoutPrefix.decapitalize().safeVarName() @@ -111,16 +111,16 @@ fun genVisitors(interfaceData: List, visitorName: String, transfo appendln() appendln("import org.jetbrains.kotlin.j2k.tree.*") appendln() - val extends = transformerExtends?.let { " : $it" } ?: "" + val extends = transformerExtends?.let { " : $it" } ?: "" - appendln("interface $transformerName$extends {") + appendln("interface $transformerName$extends {") interfaceData.joinTo(this, separator = "\n") { (name, ext) -> val nameWithoutPrefix = name.removePrefix("JK") val argName = nameWithoutPrefix.decapitalize().safeVarName() val generifyCall = if (name != "JKElement") "= transform${ext!!.removePrefix("JK")}($argName, data)" else "" """ - | fun transform$nameWithoutPrefix($argName: $name, data: D): JKElement $generifyCall + | fun transform$nameWithoutPrefix($argName: $name, data: D): E $generifyCall """.trimMargin() } appendln() @@ -140,10 +140,10 @@ fun genVisitors(interfaceData: List, visitorName: String, transfo val nameWithoutPrefix = name.removePrefix("JK") val argName = nameWithoutPrefix.decapitalize().safeVarName() val arg = "$argName: $name" - val generifyCall = if (name != "JKElement") "= transform${ext!!.removePrefix("JK")}($argName, null)" else ": JKElement" + val generifyCall = if (name != "JKElement") "= transform${ext!!.removePrefix("JK")}($argName, null)" else "" """ - | fun transform$nameWithoutPrefix($arg) $generifyCall - | override fun transform$nameWithoutPrefix($arg, data: Nothing?) = transform$nameWithoutPrefix($argName) + | fun transform$nameWithoutPrefix($arg): E $generifyCall + | override fun transform$nameWithoutPrefix($arg, data: Nothing?): E = transform$nameWithoutPrefix($argName) """.trimMargin() } appendln() @@ -151,8 +151,4 @@ fun genVisitors(interfaceData: List, visitorName: String, transfo }) } -genVisitors(JK_COMMON_FILE.interfaceNames(), "JKVisitor", "JKTransformer") -genVisitors(JK_JAVA_FILE.interfaceNames(), "JKJavaVisitor", "JKJavaTransformer", "JKVisitor", "JKTransformer") -genVisitors(JK_KT_FILE.interfaceNames(), "JKKtVisitor", "JKKtTransformer", "JKVisitor", "JKTransformer") - - +genVisitors(JK_COMMON_FILE.interfaceNames() + JK_JAVA_FILE.interfaceNames() + JK_KT_FILE.interfaceNames(), "JKVisitor", "JKTransformer") diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt index ea660979ba0..8e5d43952b9 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt @@ -17,58 +17,36 @@ package org.jetbrains.kotlin.j2k.tree.impl import org.jetbrains.kotlin.j2k.tree.* -import org.jetbrains.kotlin.j2k.tree.visitors.JKJavaVisitor +import org.jetbrains.kotlin.j2k.tree.visitors.JKTransformer import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor class JKJavaFieldImpl(override var type: JKTypeIdentifier, override var name: JKNameIdentifier, override var initializer: JKExpression?) : JKJavaField, JKElementBase() { - override fun accept(visitor: JKVisitor, data: D): R { - return if (visitor is JKJavaVisitor) { - visitor.visitJavaField(this, data) - } - else { - visitor.visitDeclaration(this, data) - } - } + override fun accept(visitor: JKVisitor, data: D): R = visitor.visitJavaField(this, data) override fun acceptChildren(visitor: JKVisitor, data: D) = listOfNotNull(type, name, initializer).forEach { it.accept(visitor, data) } + + override fun transformChildren(transformer: JKTransformer, data: D) { + type = type.transform(transformer, data) + name = name.transform(transformer, data) + initializer = initializer?.transform(transformer, data) + } } class JKJavaTypeIdentifierImpl(override val typeName: String) : JKJavaTypeIdentifier, JKElementBase() { - override fun accept(visitor: JKVisitor, data: D): R { - return if (visitor is JKJavaVisitor) { - visitor.visitJavaTypeIdentifier(this, data) - } - else { - visitor.visitTypeIdentifier(this, data) - } - } + override fun accept(visitor: JKVisitor, data: D): R = visitor.visitJavaTypeIdentifier(this, data) } class JKJavaStringLiteralExpressionImpl(override val text: String) : JKJavaStringLiteralExpression, JKElementBase() { - override fun accept(visitor: JKVisitor, data: D): R { - return if (visitor is JKJavaVisitor) { - visitor.visitJavaStringLiteralExpression(this, data) - } - else { - visitor.visitLiteralExpression(this, data) - } - } + override fun accept(visitor: JKVisitor, data: D): R = visitor.visitJavaStringLiteralExpression(this, data) } class JKJavaAccessModifierImpl(override val type: JKJavaAccessModifier.AccessModifierType) : JKJavaAccessModifier, JKElementBase() { - override fun accept(visitor: JKVisitor, data: D): R { - return if (visitor is JKJavaVisitor) { - visitor.visitJavaAccessModifier(this, data) - } - else { - visitor.visitAccessModifier(this, data) - } - } + override fun accept(visitor: JKVisitor, data: D): R = visitor.visitJavaAccessModifier(this, data) } \ No newline at end of file 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 ba545059295..03ae34cb636 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/jk.kt @@ -25,7 +25,7 @@ abstract class JKElementBase : JKElement { override fun acceptChildren(visitor: JKVisitor, data: D) {} - override fun transform(transformer: JKTransformer, data: D): JKElement = transformer.transformElement(this, data) + override fun transform(transformer: JKTransformer, data: D): E = transformer.transformElement(this, data) override fun transformChildren(transformer: JKTransformer, data: D) {} } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt index 09d86e7b425..4a9654acbae 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt @@ -25,7 +25,7 @@ interface JKElement { fun acceptChildren(visitor: JKVisitor, data: D) - fun transform(transformer: JKTransformer, data: D): JKElement + fun transform(transformer: JKTransformer, data: D): E fun transformChildren(transformer: JKTransformer, data: D) } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtTransformer.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtTransformer.kt deleted file mode 100644 index 4f0e5b9147d..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtTransformer.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.j2k.tree.visitors - -interface JKJavaKtTransformer : JKJavaTransformer, JKKtTransformer \ No newline at end of file diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitor.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitor.kt deleted file mode 100644 index 9b806e505e1..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitor.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -interface JKJavaKtVisitor : JKJavaVisitor, JKKtVisitor diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitorVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitorVoid.kt deleted file mode 100644 index 066a98bdeb3..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaKtVisitorVoid.kt +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.j2k.tree.visitors - -interface JKJavaKtVisitorVoid : JKJavaKtVisitor, JKJavaVisitorVoid, JKKtVisitorVoid diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformer.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformer.kt deleted file mode 100644 index ea42473c0db..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformer.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKJavaTransformer : JKTransformer { - fun transformJavaField(javaField: JKJavaField, data: D): JKElement = transformDeclaration(javaField, data) - fun transformJavaMethod(javaMethod: JKJavaMethod, data: D): JKElement = transformDeclaration(javaMethod, data) - fun transformJavaForLoop(javaForLoop: JKJavaForLoop, data: D): JKElement = transformLoop(javaForLoop, data) - fun transformJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): JKElement = transformExpression(javaAssignmentExpression, data) - fun transformJavaCall(javaCall: JKJavaCall, data: D): JKElement = transformCall(javaCall, data) - fun transformJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): JKElement = transformTypeIdentifier(javaTypeIdentifier, data) - fun transformJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): JKElement = transformLiteralExpression(javaStringLiteralExpression, data) - fun transformJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): JKElement = transformAccessModifier(javaAccessModifier, data) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformerVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformerVoid.kt deleted file mode 100644 index b6e59b49b74..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaTransformerVoid.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKJavaTransformerVoid : JKJavaTransformer, JKTransformerVoid { - fun transformJavaField(javaField: JKJavaField) = transformDeclaration(javaField, null) - override fun transformJavaField(javaField: JKJavaField, data: Nothing?) = transformJavaField(javaField) - fun transformJavaMethod(javaMethod: JKJavaMethod) = transformDeclaration(javaMethod, null) - override fun transformJavaMethod(javaMethod: JKJavaMethod, data: Nothing?) = transformJavaMethod(javaMethod) - fun transformJavaForLoop(javaForLoop: JKJavaForLoop) = transformLoop(javaForLoop, null) - override fun transformJavaForLoop(javaForLoop: JKJavaForLoop, data: Nothing?) = transformJavaForLoop(javaForLoop) - fun transformJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression) = transformExpression(javaAssignmentExpression, null) - override fun transformJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: Nothing?) = transformJavaAssignmentExpression(javaAssignmentExpression) - fun transformJavaCall(javaCall: JKJavaCall) = transformCall(javaCall, null) - override fun transformJavaCall(javaCall: JKJavaCall, data: Nothing?) = transformJavaCall(javaCall) - fun transformJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier) = transformTypeIdentifier(javaTypeIdentifier, null) - override fun transformJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: Nothing?) = transformJavaTypeIdentifier(javaTypeIdentifier) - fun transformJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression) = transformLiteralExpression(javaStringLiteralExpression, null) - override fun transformJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?) = transformJavaStringLiteralExpression(javaStringLiteralExpression) - fun transformJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) = transformAccessModifier(javaAccessModifier, null) - override fun transformJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?) = transformJavaAccessModifier(javaAccessModifier) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitor.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitor.kt deleted file mode 100644 index 1342ac4a3cf..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitor.kt +++ /dev/null @@ -1,14 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKJavaVisitor : JKVisitor { - fun visitJavaField(javaField: JKJavaField, data: D): R = visitDeclaration(javaField, data) - fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): R = visitDeclaration(javaMethod, data) - fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): R = visitLoop(javaForLoop, data) - fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): R = visitExpression(javaAssignmentExpression, data) - fun visitJavaCall(javaCall: JKJavaCall, data: D): R = visitCall(javaCall, data) - fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): R = visitTypeIdentifier(javaTypeIdentifier, data) - fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): R = visitLiteralExpression(javaStringLiteralExpression, data) - fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): R = visitAccessModifier(javaAccessModifier, data) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitorVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitorVoid.kt deleted file mode 100644 index e865e8982b2..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKJavaVisitorVoid.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKJavaVisitorVoid : JKJavaVisitor, JKVisitorVoid { - fun visitJavaField(javaField: JKJavaField) = visitDeclaration(javaField, null) - override fun visitJavaField(javaField: JKJavaField, data: Nothing?) = visitJavaField(javaField) - fun visitJavaMethod(javaMethod: JKJavaMethod) = visitDeclaration(javaMethod, null) - override fun visitJavaMethod(javaMethod: JKJavaMethod, data: Nothing?) = visitJavaMethod(javaMethod) - fun visitJavaForLoop(javaForLoop: JKJavaForLoop) = visitLoop(javaForLoop, null) - override fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: Nothing?) = visitJavaForLoop(javaForLoop) - fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression) = visitExpression(javaAssignmentExpression, null) - override fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: Nothing?) = visitJavaAssignmentExpression(javaAssignmentExpression) - fun visitJavaCall(javaCall: JKJavaCall) = visitCall(javaCall, null) - override fun visitJavaCall(javaCall: JKJavaCall, data: Nothing?) = visitJavaCall(javaCall) - fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier) = visitTypeIdentifier(javaTypeIdentifier, null) - override fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: Nothing?) = visitJavaTypeIdentifier(javaTypeIdentifier) - fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression) = visitLiteralExpression(javaStringLiteralExpression, null) - override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?) = visitJavaStringLiteralExpression(javaStringLiteralExpression) - fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) = visitAccessModifier(javaAccessModifier, null) - override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?) = visitJavaAccessModifier(javaAccessModifier) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformer.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformer.kt deleted file mode 100644 index b1dae407caa..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformer.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKKtTransformer : JKTransformer { - fun transformKtFun(ktFun: JKKtFun, data: D): JKElement = transformDeclaration(ktFun, data) - fun transformKtConstructor(ktConstructor: JKKtConstructor, data: D): JKElement = transformDeclaration(ktConstructor, data) - fun transformKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): JKElement = transformKtConstructor(ktPrimaryConstructor, data) - fun transformKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: D): JKElement = transformStatement(ktAssignmentStatement, data) - fun transformKtCall(ktCall: JKKtCall, data: D): JKElement = transformCall(ktCall, data) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformerVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformerVoid.kt deleted file mode 100644 index 06e61d65785..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtTransformerVoid.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKKtTransformerVoid : JKKtTransformer, JKTransformerVoid { - fun transformKtFun(ktFun: JKKtFun) = transformDeclaration(ktFun, null) - override fun transformKtFun(ktFun: JKKtFun, data: Nothing?) = transformKtFun(ktFun) - fun transformKtConstructor(ktConstructor: JKKtConstructor) = transformDeclaration(ktConstructor, null) - override fun transformKtConstructor(ktConstructor: JKKtConstructor, data: Nothing?) = transformKtConstructor(ktConstructor) - fun transformKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor) = transformKtConstructor(ktPrimaryConstructor, null) - override fun transformKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: Nothing?) = transformKtPrimaryConstructor(ktPrimaryConstructor) - fun transformKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement) = transformStatement(ktAssignmentStatement, null) - override fun transformKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: Nothing?) = transformKtAssignmentStatement(ktAssignmentStatement) - fun transformKtCall(ktCall: JKKtCall) = transformCall(ktCall, null) - override fun transformKtCall(ktCall: JKKtCall, data: Nothing?) = transformKtCall(ktCall) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitor.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitor.kt deleted file mode 100644 index eb6fead5284..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitor.kt +++ /dev/null @@ -1,11 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKKtVisitor : JKVisitor { - fun visitKtFun(ktFun: JKKtFun, data: D): R = visitDeclaration(ktFun, data) - fun visitKtConstructor(ktConstructor: JKKtConstructor, data: D): R = visitDeclaration(ktConstructor, data) - fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): R = visitKtConstructor(ktPrimaryConstructor, data) - fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: D): R = visitStatement(ktAssignmentStatement, data) - fun visitKtCall(ktCall: JKKtCall, data: D): R = visitCall(ktCall, data) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitorVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitorVoid.kt deleted file mode 100644 index 115f50c517c..00000000000 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKKtVisitorVoid.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.jetbrains.kotlin.j2k.tree.visitors - -import org.jetbrains.kotlin.j2k.tree.* - -interface JKKtVisitorVoid : JKKtVisitor, JKVisitorVoid { - fun visitKtFun(ktFun: JKKtFun) = visitDeclaration(ktFun, null) - override fun visitKtFun(ktFun: JKKtFun, data: Nothing?) = visitKtFun(ktFun) - fun visitKtConstructor(ktConstructor: JKKtConstructor) = visitDeclaration(ktConstructor, null) - override fun visitKtConstructor(ktConstructor: JKKtConstructor, data: Nothing?) = visitKtConstructor(ktConstructor) - fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor) = visitKtConstructor(ktPrimaryConstructor, null) - override fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: Nothing?) = visitKtPrimaryConstructor(ktPrimaryConstructor) - fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement) = visitStatement(ktAssignmentStatement, null) - override fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: Nothing?) = visitKtAssignmentStatement(ktAssignmentStatement) - fun visitKtCall(ktCall: JKKtCall) = visitCall(ktCall, null) - override fun visitKtCall(ktCall: JKKtCall, data: Nothing?) = visitKtCall(ktCall) -} diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformer.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformer.kt index 689133eac7a..17134df9786 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformer.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformer.kt @@ -2,20 +2,33 @@ package org.jetbrains.kotlin.j2k.tree.visitors import org.jetbrains.kotlin.j2k.tree.* -interface JKTransformer { - fun transformElement(element: JKElement, data: D): JKElement - fun transformClass(klass: JKClass, data: D): JKElement = transformDeclaration(klass, data) - fun transformStatement(statement: JKStatement, data: D): JKElement = transformElement(statement, data) - fun transformExpression(expression: JKExpression, data: D): JKElement = transformStatement(expression, data) - fun transformLoop(loop: JKLoop, data: D): JKElement = transformStatement(loop, data) - fun transformDeclaration(declaration: JKDeclaration, data: D): JKElement = transformElement(declaration, data) - fun transformBlock(block: JKBlock, data: D): JKElement = transformElement(block, data) - fun transformCall(call: JKCall, data: D): JKElement = transformExpression(call, data) - fun transformIdentifier(identifier: JKIdentifier, data: D): JKElement = transformElement(identifier, data) - fun transformTypeIdentifier(typeIdentifier: JKTypeIdentifier, data: D): JKElement = transformIdentifier(typeIdentifier, data) - fun transformNameIdentifier(nameIdentifier: JKNameIdentifier, data: D): JKElement = transformIdentifier(nameIdentifier, data) - fun transformLiteralExpression(literalExpression: JKLiteralExpression, data: D): JKElement = transformExpression(literalExpression, data) - fun transformModifierList(modifierList: JKModifierList, data: D): JKElement = transformElement(modifierList, data) - fun transformModifier(modifier: JKModifier, data: D): JKElement = transformElement(modifier, data) - fun transformAccessModifier(accessModifier: JKAccessModifier, data: D): JKElement = transformModifier(accessModifier, data) +interface JKTransformer { + fun transformElement(element: JKElement, data: D): E + fun transformClass(klass: JKClass, data: D): E = transformDeclaration(klass, data) + fun transformStatement(statement: JKStatement, data: D): E = transformElement(statement, data) + fun transformExpression(expression: JKExpression, data: D): E = transformStatement(expression, data) + fun transformLoop(loop: JKLoop, data: D): E = transformStatement(loop, data) + fun transformDeclaration(declaration: JKDeclaration, data: D): E = transformElement(declaration, data) + fun transformBlock(block: JKBlock, data: D): E = transformElement(block, data) + fun transformCall(call: JKCall, data: D): E = transformExpression(call, data) + fun transformIdentifier(identifier: JKIdentifier, data: D): E = transformElement(identifier, data) + fun transformTypeIdentifier(typeIdentifier: JKTypeIdentifier, data: D): E = transformIdentifier(typeIdentifier, data) + fun transformNameIdentifier(nameIdentifier: JKNameIdentifier, data: D): E = transformIdentifier(nameIdentifier, data) + fun transformLiteralExpression(literalExpression: JKLiteralExpression, data: D): E = transformExpression(literalExpression, data) + fun transformModifierList(modifierList: JKModifierList, data: D): E = transformElement(modifierList, data) + fun transformModifier(modifier: JKModifier, data: D): E = transformElement(modifier, data) + fun transformAccessModifier(accessModifier: JKAccessModifier, data: D): E = transformModifier(accessModifier, data) + fun transformJavaField(javaField: JKJavaField, data: D): E = transformDeclaration(javaField, data) + fun transformJavaMethod(javaMethod: JKJavaMethod, data: D): E = transformDeclaration(javaMethod, data) + fun transformJavaForLoop(javaForLoop: JKJavaForLoop, data: D): E = transformLoop(javaForLoop, data) + fun transformJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): E = transformExpression(javaAssignmentExpression, data) + fun transformJavaCall(javaCall: JKJavaCall, data: D): E = transformCall(javaCall, data) + fun transformJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): E = transformTypeIdentifier(javaTypeIdentifier, data) + fun transformJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): E = transformLiteralExpression(javaStringLiteralExpression, data) + fun transformJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): E = transformAccessModifier(javaAccessModifier, data) + fun transformKtFun(ktFun: JKKtFun, data: D): E = transformDeclaration(ktFun, data) + fun transformKtConstructor(ktConstructor: JKKtConstructor, data: D): E = transformDeclaration(ktConstructor, data) + fun transformKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): E = transformKtConstructor(ktPrimaryConstructor, data) + fun transformKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: D): E = transformStatement(ktAssignmentStatement, data) + fun transformKtCall(ktCall: JKKtCall, data: D): E = transformCall(ktCall, data) } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformerVoid.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformerVoid.kt index 7c73369fbe1..a8545be88dd 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformerVoid.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKTransformerVoid.kt @@ -3,34 +3,60 @@ package org.jetbrains.kotlin.j2k.tree.visitors import org.jetbrains.kotlin.j2k.tree.* interface JKTransformerVoid : JKTransformer { - fun transformElement(element: JKElement) : JKElement - override fun transformElement(element: JKElement, data: Nothing?) = transformElement(element) - fun transformClass(klass: JKClass) = transformDeclaration(klass, null) - override fun transformClass(klass: JKClass, data: Nothing?) = transformClass(klass) - fun transformStatement(statement: JKStatement) = transformElement(statement, null) - override fun transformStatement(statement: JKStatement, data: Nothing?) = transformStatement(statement) - fun transformExpression(expression: JKExpression) = transformStatement(expression, null) - override fun transformExpression(expression: JKExpression, data: Nothing?) = transformExpression(expression) - fun transformLoop(loop: JKLoop) = transformStatement(loop, null) - override fun transformLoop(loop: JKLoop, data: Nothing?) = transformLoop(loop) - fun transformDeclaration(declaration: JKDeclaration) = transformElement(declaration, null) - override fun transformDeclaration(declaration: JKDeclaration, data: Nothing?) = transformDeclaration(declaration) - fun transformBlock(block: JKBlock) = transformElement(block, null) - override fun transformBlock(block: JKBlock, data: Nothing?) = transformBlock(block) - fun transformCall(call: JKCall) = transformExpression(call, null) - override fun transformCall(call: JKCall, data: Nothing?) = transformCall(call) - fun transformIdentifier(identifier: JKIdentifier) = transformElement(identifier, null) - override fun transformIdentifier(identifier: JKIdentifier, data: Nothing?) = transformIdentifier(identifier) - fun transformTypeIdentifier(typeIdentifier: JKTypeIdentifier) = transformIdentifier(typeIdentifier, null) - override fun transformTypeIdentifier(typeIdentifier: JKTypeIdentifier, data: Nothing?) = transformTypeIdentifier(typeIdentifier) - fun transformNameIdentifier(nameIdentifier: JKNameIdentifier) = transformIdentifier(nameIdentifier, null) - override fun transformNameIdentifier(nameIdentifier: JKNameIdentifier, data: Nothing?) = transformNameIdentifier(nameIdentifier) - fun transformLiteralExpression(literalExpression: JKLiteralExpression) = transformExpression(literalExpression, null) - override fun transformLiteralExpression(literalExpression: JKLiteralExpression, data: Nothing?) = transformLiteralExpression(literalExpression) - fun transformModifierList(modifierList: JKModifierList) = transformElement(modifierList, null) - override fun transformModifierList(modifierList: JKModifierList, data: Nothing?) = transformModifierList(modifierList) - fun transformModifier(modifier: JKModifier) = transformElement(modifier, null) - override fun transformModifier(modifier: JKModifier, data: Nothing?) = transformModifier(modifier) - fun transformAccessModifier(accessModifier: JKAccessModifier) = transformModifier(accessModifier, null) - override fun transformAccessModifier(accessModifier: JKAccessModifier, data: Nothing?) = transformAccessModifier(accessModifier) + fun transformElement(element: JKElement): E + override fun transformElement(element: JKElement, data: Nothing?): E = transformElement(element) + fun transformClass(klass: JKClass): E = transformDeclaration(klass, null) + override fun transformClass(klass: JKClass, data: Nothing?): E = transformClass(klass) + fun transformStatement(statement: JKStatement): E = transformElement(statement, null) + override fun transformStatement(statement: JKStatement, data: Nothing?): E = transformStatement(statement) + fun transformExpression(expression: JKExpression): E = transformStatement(expression, null) + override fun transformExpression(expression: JKExpression, data: Nothing?): E = transformExpression(expression) + fun transformLoop(loop: JKLoop): E = transformStatement(loop, null) + override fun transformLoop(loop: JKLoop, data: Nothing?): E = transformLoop(loop) + fun transformDeclaration(declaration: JKDeclaration): E = transformElement(declaration, null) + override fun transformDeclaration(declaration: JKDeclaration, data: Nothing?): E = transformDeclaration(declaration) + fun transformBlock(block: JKBlock): E = transformElement(block, null) + override fun transformBlock(block: JKBlock, data: Nothing?): E = transformBlock(block) + fun transformCall(call: JKCall): E = transformExpression(call, null) + override fun transformCall(call: JKCall, data: Nothing?): E = transformCall(call) + fun transformIdentifier(identifier: JKIdentifier): E = transformElement(identifier, null) + override fun transformIdentifier(identifier: JKIdentifier, data: Nothing?): E = transformIdentifier(identifier) + fun transformTypeIdentifier(typeIdentifier: JKTypeIdentifier): E = transformIdentifier(typeIdentifier, null) + override fun transformTypeIdentifier(typeIdentifier: JKTypeIdentifier, data: Nothing?): E = transformTypeIdentifier(typeIdentifier) + fun transformNameIdentifier(nameIdentifier: JKNameIdentifier): E = transformIdentifier(nameIdentifier, null) + override fun transformNameIdentifier(nameIdentifier: JKNameIdentifier, data: Nothing?): E = transformNameIdentifier(nameIdentifier) + fun transformLiteralExpression(literalExpression: JKLiteralExpression): E = transformExpression(literalExpression, null) + override fun transformLiteralExpression(literalExpression: JKLiteralExpression, data: Nothing?): E = transformLiteralExpression(literalExpression) + fun transformModifierList(modifierList: JKModifierList): E = transformElement(modifierList, null) + override fun transformModifierList(modifierList: JKModifierList, data: Nothing?): E = transformModifierList(modifierList) + fun transformModifier(modifier: JKModifier): E = transformElement(modifier, null) + override fun transformModifier(modifier: JKModifier, data: Nothing?): E = transformModifier(modifier) + fun transformAccessModifier(accessModifier: JKAccessModifier): E = transformModifier(accessModifier, null) + override fun transformAccessModifier(accessModifier: JKAccessModifier, data: Nothing?): E = transformAccessModifier(accessModifier) + fun transformJavaField(javaField: JKJavaField): E = transformDeclaration(javaField, null) + override fun transformJavaField(javaField: JKJavaField, data: Nothing?): E = transformJavaField(javaField) + fun transformJavaMethod(javaMethod: JKJavaMethod): E = transformDeclaration(javaMethod, null) + override fun transformJavaMethod(javaMethod: JKJavaMethod, data: Nothing?): E = transformJavaMethod(javaMethod) + fun transformJavaForLoop(javaForLoop: JKJavaForLoop): E = transformLoop(javaForLoop, null) + override fun transformJavaForLoop(javaForLoop: JKJavaForLoop, data: Nothing?): E = transformJavaForLoop(javaForLoop) + fun transformJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression): E = transformExpression(javaAssignmentExpression, null) + override fun transformJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: Nothing?): E = transformJavaAssignmentExpression(javaAssignmentExpression) + fun transformJavaCall(javaCall: JKJavaCall): E = transformCall(javaCall, null) + override fun transformJavaCall(javaCall: JKJavaCall, data: Nothing?): E = transformJavaCall(javaCall) + fun transformJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier): E = transformTypeIdentifier(javaTypeIdentifier, null) + override fun transformJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: Nothing?): E = transformJavaTypeIdentifier(javaTypeIdentifier) + fun transformJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression): E = transformLiteralExpression(javaStringLiteralExpression, null) + override fun transformJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?): E = transformJavaStringLiteralExpression(javaStringLiteralExpression) + fun transformJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier): E = transformAccessModifier(javaAccessModifier, null) + override fun transformJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?): E = transformJavaAccessModifier(javaAccessModifier) + fun transformKtFun(ktFun: JKKtFun): E = transformDeclaration(ktFun, null) + override fun transformKtFun(ktFun: JKKtFun, data: Nothing?): E = transformKtFun(ktFun) + fun transformKtConstructor(ktConstructor: JKKtConstructor): E = transformDeclaration(ktConstructor, null) + override fun transformKtConstructor(ktConstructor: JKKtConstructor, data: Nothing?): E = transformKtConstructor(ktConstructor) + fun transformKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor): E = transformKtConstructor(ktPrimaryConstructor, null) + override fun transformKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: Nothing?): E = transformKtPrimaryConstructor(ktPrimaryConstructor) + fun transformKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement): E = transformStatement(ktAssignmentStatement, null) + override fun transformKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: Nothing?): E = transformKtAssignmentStatement(ktAssignmentStatement) + fun transformKtCall(ktCall: JKKtCall): E = transformCall(ktCall, null) + override fun transformKtCall(ktCall: JKKtCall, data: Nothing?): E = transformKtCall(ktCall) } diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitor.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitor.kt index 92ded4830c8..ee158d3eeb8 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitor.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitor.kt @@ -2,7 +2,7 @@ package org.jetbrains.kotlin.j2k.tree.visitors import org.jetbrains.kotlin.j2k.tree.* -interface JKVisitor { +interface JKVisitor { fun visitElement(element: JKElement, data: D): R fun visitClass(klass: JKClass, data: D): R = visitDeclaration(klass, data) fun visitStatement(statement: JKStatement, data: D): R = visitElement(statement, data) @@ -18,4 +18,17 @@ interface JKVisitor { fun visitModifierList(modifierList: JKModifierList, data: D): R = visitElement(modifierList, data) fun visitModifier(modifier: JKModifier, data: D): R = visitElement(modifier, data) fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): R = visitModifier(accessModifier, data) + fun visitJavaField(javaField: JKJavaField, data: D): R = visitDeclaration(javaField, data) + fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): R = visitDeclaration(javaMethod, data) + fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): R = visitLoop(javaForLoop, data) + fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): R = visitExpression(javaAssignmentExpression, data) + fun visitJavaCall(javaCall: JKJavaCall, data: D): R = visitCall(javaCall, data) + fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): R = visitTypeIdentifier(javaTypeIdentifier, data) + fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): R = visitLiteralExpression(javaStringLiteralExpression, data) + fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): R = visitAccessModifier(javaAccessModifier, data) + fun visitKtFun(ktFun: JKKtFun, data: D): R = visitDeclaration(ktFun, data) + fun visitKtConstructor(ktConstructor: JKKtConstructor, data: D): R = visitDeclaration(ktConstructor, data) + fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): R = visitKtConstructor(ktPrimaryConstructor, data) + fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: D): R = visitStatement(ktAssignmentStatement, data) + fun visitKtCall(ktCall: JKKtCall, data: D): R = visitCall(ktCall, 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 aaf8be931dc..165a88f7940 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt @@ -33,4 +33,30 @@ interface JKVisitorVoid : JKVisitor { override fun visitModifier(modifier: JKModifier, data: Nothing?) = visitModifier(modifier) fun visitAccessModifier(accessModifier: JKAccessModifier) = visitModifier(accessModifier, null) override fun visitAccessModifier(accessModifier: JKAccessModifier, data: Nothing?) = visitAccessModifier(accessModifier) + fun visitJavaField(javaField: JKJavaField) = visitDeclaration(javaField, null) + override fun visitJavaField(javaField: JKJavaField, data: Nothing?) = visitJavaField(javaField) + fun visitJavaMethod(javaMethod: JKJavaMethod) = visitDeclaration(javaMethod, null) + override fun visitJavaMethod(javaMethod: JKJavaMethod, data: Nothing?) = visitJavaMethod(javaMethod) + fun visitJavaForLoop(javaForLoop: JKJavaForLoop) = visitLoop(javaForLoop, null) + override fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: Nothing?) = visitJavaForLoop(javaForLoop) + fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression) = visitExpression(javaAssignmentExpression, null) + override fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: Nothing?) = visitJavaAssignmentExpression(javaAssignmentExpression) + fun visitJavaCall(javaCall: JKJavaCall) = visitCall(javaCall, null) + override fun visitJavaCall(javaCall: JKJavaCall, data: Nothing?) = visitJavaCall(javaCall) + fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier) = visitTypeIdentifier(javaTypeIdentifier, null) + override fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: Nothing?) = visitJavaTypeIdentifier(javaTypeIdentifier) + fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression) = visitLiteralExpression(javaStringLiteralExpression, null) + override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?) = visitJavaStringLiteralExpression(javaStringLiteralExpression) + fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) = visitAccessModifier(javaAccessModifier, null) + override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?) = visitJavaAccessModifier(javaAccessModifier) + fun visitKtFun(ktFun: JKKtFun) = visitDeclaration(ktFun, null) + override fun visitKtFun(ktFun: JKKtFun, data: Nothing?) = visitKtFun(ktFun) + fun visitKtConstructor(ktConstructor: JKKtConstructor) = visitDeclaration(ktConstructor, null) + override fun visitKtConstructor(ktConstructor: JKKtConstructor, data: Nothing?) = visitKtConstructor(ktConstructor) + fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor) = visitKtConstructor(ktPrimaryConstructor, null) + override fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: Nothing?) = visitKtPrimaryConstructor(ktPrimaryConstructor) + fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement) = visitStatement(ktAssignmentStatement, null) + override fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: Nothing?) = visitKtAssignmentStatement(ktAssignmentStatement) + fun visitKtCall(ktCall: JKKtCall) = visitCall(ktCall, null) + override fun visitKtCall(ktCall: JKKtCall, data: Nothing?) = visitKtCall(ktCall) }