New J2K: Nj2k modifiers hierarchy (#3)
This commit is contained in:
@@ -44,9 +44,13 @@ class JavaToJKTreeBuilder {
|
|||||||
private object DeclarationMapper {
|
private object DeclarationMapper {
|
||||||
|
|
||||||
fun PsiClass.toJK(): JKClass {
|
fun PsiClass.toJK(): JKClass {
|
||||||
val modifierList = with(ModifierMapper) { modifierList.toJK() }
|
val classKind: JKClass.ClassKind = when {
|
||||||
val declarations = this.children.filterIsInstance<PsiMember>().mapNotNull { it.toJK() }
|
isAnnotationType -> JKClass.ClassKind.ANNOTATION
|
||||||
return JKClassImpl(modifierList, JKNameIdentifierImpl(this.name!!)).also { it.declarations = declarations }
|
isEnum -> JKClass.ClassKind.ENUM
|
||||||
|
isInterface -> JKClass.ClassKind.INTERFACE
|
||||||
|
else -> JKClass.ClassKind.CLASS
|
||||||
|
}
|
||||||
|
return JKClassImpl(with(ModifierMapper) { modifierList.toJK() }, JKNameIdentifierImpl(this.name!!), classKind)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -107,6 +111,16 @@ class JavaToJKTreeBuilder {
|
|||||||
PsiModifier.PUBLIC -> JKJavaAccessModifierImpl(JKJavaAccessModifier.AccessModifierType.PUBLIC)
|
PsiModifier.PUBLIC -> JKJavaAccessModifierImpl(JKJavaAccessModifier.AccessModifierType.PUBLIC)
|
||||||
PsiModifier.PRIVATE -> JKJavaAccessModifierImpl(JKJavaAccessModifier.AccessModifierType.PRIVATE)
|
PsiModifier.PRIVATE -> JKJavaAccessModifierImpl(JKJavaAccessModifier.AccessModifierType.PRIVATE)
|
||||||
PsiModifier.PROTECTED -> JKJavaAccessModifierImpl(JKJavaAccessModifier.AccessModifierType.PROTECTED)
|
PsiModifier.PROTECTED -> JKJavaAccessModifierImpl(JKJavaAccessModifier.AccessModifierType.PROTECTED)
|
||||||
|
|
||||||
|
PsiModifier.ABSTRACT -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.ABSTRACT)
|
||||||
|
PsiModifier.FINAL -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.FINAL)
|
||||||
|
PsiModifier.NATIVE -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.NATIVE)
|
||||||
|
PsiModifier.STATIC -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.STATIC)
|
||||||
|
PsiModifier.STRICTFP -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.STRICTFP)
|
||||||
|
PsiModifier.SYNCHRONIZED -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.SYNCHRONIZED)
|
||||||
|
PsiModifier.TRANSIENT -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.TRANSIENT)
|
||||||
|
PsiModifier.VOLATILE -> JKJavaModifierImpl(JKJavaModifier.JavaModifierType.VOLATILE)
|
||||||
|
|
||||||
else -> TODO("Not yet supported")
|
else -> TODO("Not yet supported")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -137,9 +151,10 @@ class JavaToJKTreeBuilder {
|
|||||||
return elementVisitor.resultElement
|
return elementVisitor.resultElement
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private fun PsiExpression.buildTreeForExpression(): JKExpression =
|
private fun PsiExpression.buildTreeForExpression(): JKExpression =
|
||||||
JavaToJKTreeBuilder.ExpressionTreeVisitor().apply { accept(this) }.result()
|
JavaToJKTreeBuilder.ExpressionTreeVisitor().apply { accept(this) }.result()
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.j2k.conversions
|
|||||||
import org.jetbrains.kotlin.j2k.tree.JKElement
|
import org.jetbrains.kotlin.j2k.tree.JKElement
|
||||||
import org.jetbrains.kotlin.j2k.tree.visitors.JKTransformerVoid
|
import org.jetbrains.kotlin.j2k.tree.visitors.JKTransformerVoid
|
||||||
|
|
||||||
abstract class TransformerBasedConversion: BaseConversion(), JKTransformerVoid {
|
abstract class TransformerBasedConversion : BaseConversion(), JKTransformerVoid {
|
||||||
protected var somethingChanged = false
|
protected var somethingChanged = false
|
||||||
|
|
||||||
override fun runConversion(treeRoot: JKElement): Boolean {
|
override fun runConversion(treeRoot: JKElement): Boolean {
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ private class DebugTreePrinter : JKVisitorVoid {
|
|||||||
printer.println("]")
|
printer.println("]")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun visitJavaModifier(javaModifier: JKJavaModifier) {
|
||||||
|
printer.println(javaModifier.classNameWithoutJK(), "(", javaModifier.type, ")")
|
||||||
|
}
|
||||||
|
|
||||||
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) {
|
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) {
|
||||||
printer.println(javaAccessModifier.classNameWithoutJK(), "(", javaAccessModifier.type, ")")
|
printer.println(javaAccessModifier.classNameWithoutJK(), "(", javaAccessModifier.type, ")")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,10 @@ class JKJavaAccessModifierImpl(override val type: JKJavaAccessModifier.AccessMod
|
|||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaAccessModifier(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaAccessModifier(this, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class JKJavaModifierImpl(override val type: JKJavaModifier.JavaModifierType) : JKJavaModifier, JKElementBase() {
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaModifier(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
class JKJavaMethodImpl(override var modifierList: JKModifierList,
|
class JKJavaMethodImpl(override var modifierList: JKModifierList,
|
||||||
override var name: JKNameIdentifier,
|
override var name: JKNameIdentifier,
|
||||||
override var valueArguments: List<JKValueArgument>,
|
override var valueArguments: List<JKValueArgument>,
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ abstract class JKElementBase : JKElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class JKClassImpl(override var modifierList: JKModifierList, override var name: JKNameIdentifier) : JKClass, JKElementBase() {
|
class JKClassImpl(override var modifierList: JKModifierList, override var name: JKNameIdentifier, override var classKind: JKClass.ClassKind) : JKClass, JKElementBase() {
|
||||||
override var declarations: List<JKDeclaration> = mutableListOf()
|
override var declarations: List<JKDeclaration> = mutableListOf()
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitClass(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitClass(this, data)
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ interface JKJavaField : JKDeclaration, JKModifierListOwner {
|
|||||||
var initializer: JKExpression?
|
var initializer: JKExpression?
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKJavaMethod : JKDeclaration{
|
interface JKJavaMethod : JKDeclaration {
|
||||||
var modifierList: JKModifierList
|
var modifierList: JKModifierList
|
||||||
var name: JKNameIdentifier
|
var name: JKNameIdentifier
|
||||||
var valueArguments: List<JKValueArgument>
|
var valueArguments: List<JKValueArgument>
|
||||||
@@ -49,4 +49,12 @@ interface JKJavaAccessModifier : JKAccessModifier {
|
|||||||
enum class AccessModifierType {
|
enum class AccessModifierType {
|
||||||
PUBLIC, PROTECTED, PRIVATE
|
PUBLIC, PROTECTED, PRIVATE
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface JKJavaModifier : JKModifier {
|
||||||
|
val type: JavaModifierType
|
||||||
|
|
||||||
|
enum class JavaModifierType {
|
||||||
|
ABSTRACT, FINAL, NATIVE, STATIC, STRICTFP, SYNCHRONIZED, TRANSIENT, VOLATILE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -31,6 +31,11 @@ interface JKElement {
|
|||||||
interface JKClass : JKDeclaration, JKModifierListOwner {
|
interface JKClass : JKDeclaration, JKModifierListOwner {
|
||||||
var name: JKNameIdentifier
|
var name: JKNameIdentifier
|
||||||
var declarations: List<JKDeclaration>
|
var declarations: List<JKDeclaration>
|
||||||
|
var classKind: ClassKind
|
||||||
|
|
||||||
|
enum class ClassKind {
|
||||||
|
ABSTRACT, ANNOTATION, CLASS, ENUM, INTERFACE
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKStatement : JKElement
|
interface JKStatement : JKElement
|
||||||
@@ -72,4 +77,6 @@ interface JKValueArgument : JKElement {
|
|||||||
|
|
||||||
interface JKStringLiteralExpression : JKLiteralExpression {
|
interface JKStringLiteralExpression : JKLiteralExpression {
|
||||||
val text: String
|
val text: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKModalityModifier : JKModifier
|
||||||
@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.j2k.tree.visitors
|
|||||||
import org.jetbrains.kotlin.j2k.tree.*
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
|
|
||||||
interface JKTransformer<in D> : JKVisitor<JKElement, D> {
|
interface JKTransformer<in D> : JKVisitor<JKElement, D> {
|
||||||
override fun visitElement(element: JKElement, data: D): JKElement
|
override fun visitElement(element: JKElement, data: D): JKElement
|
||||||
override fun visitClass(klass: JKClass, data: D): JKClass = visitDeclaration(klass, data) as JKClass
|
override fun visitClass(klass: JKClass, data: D): JKClass = visitDeclaration(klass, data) as JKClass
|
||||||
override fun visitStatement(statement: JKStatement, data: D): JKStatement = visitElement(statement, data) as JKStatement
|
override fun visitStatement(statement: JKStatement, data: D): JKStatement = visitElement(statement, data) as JKStatement
|
||||||
override fun visitExpression(expression: JKExpression, data: D): JKExpression = visitStatement(expression, data) as JKExpression
|
override fun visitExpression(expression: JKExpression, data: D): JKExpression = visitStatement(expression, data) as JKExpression
|
||||||
@@ -20,18 +20,20 @@ interface JKTransformer<in D> : JKVisitor<JKElement, D> {
|
|||||||
override fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): JKAccessModifier = visitModifier(accessModifier, data) as JKAccessModifier
|
override fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): JKAccessModifier = visitModifier(accessModifier, data) as JKAccessModifier
|
||||||
override fun visitValueArgument(valueArgument: JKValueArgument, data: D): JKValueArgument = visitElement(valueArgument, data) as JKValueArgument
|
override fun visitValueArgument(valueArgument: JKValueArgument, data: D): JKValueArgument = visitElement(valueArgument, data) as JKValueArgument
|
||||||
override fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: D): JKStringLiteralExpression = visitLiteralExpression(stringLiteralExpression, data) as JKStringLiteralExpression
|
override fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: D): JKStringLiteralExpression = visitLiteralExpression(stringLiteralExpression, data) as JKStringLiteralExpression
|
||||||
override fun visitJavaField(javaField: JKJavaField, data: D): JKDeclaration = visitDeclaration(javaField, data)
|
override fun visitModalityModifier(modalityModifier: JKModalityModifier, data: D): JKModalityModifier = visitModifier(modalityModifier, data) as JKModalityModifier
|
||||||
override fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): JKDeclaration = visitDeclaration(javaMethod, data)
|
override fun visitJavaField(javaField: JKJavaField, data: D): JKDeclaration = visitDeclaration(javaField, data)
|
||||||
override fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): JKLoop = visitLoop(javaForLoop, data)
|
override fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): JKDeclaration = visitDeclaration(javaMethod, data)
|
||||||
override fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): JKExpression = visitExpression(javaAssignmentExpression, data)
|
override fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): JKLoop = visitLoop(javaForLoop, data)
|
||||||
override fun visitJavaCall(javaCall: JKJavaCall, data: D): JKCall = visitCall(javaCall, data)
|
override fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): JKExpression = visitExpression(javaAssignmentExpression, data)
|
||||||
override fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): JKTypeIdentifier = visitTypeIdentifier(javaTypeIdentifier, data)
|
override fun visitJavaCall(javaCall: JKJavaCall, data: D): JKCall = visitCall(javaCall, data)
|
||||||
override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): JKLiteralExpression = visitLiteralExpression(javaStringLiteralExpression, data)
|
override fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): JKTypeIdentifier = visitTypeIdentifier(javaTypeIdentifier, data)
|
||||||
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): JKAccessModifier = visitAccessModifier(javaAccessModifier, data)
|
override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): JKLiteralExpression = visitLiteralExpression(javaStringLiteralExpression, data)
|
||||||
override fun visitKtFun(ktFun: JKKtFun, data: D): JKDeclaration = visitDeclaration(ktFun, data)
|
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): JKAccessModifier = visitAccessModifier(javaAccessModifier, data)
|
||||||
override fun visitKtConstructor(ktConstructor: JKKtConstructor, data: D): JKDeclaration = visitDeclaration(ktConstructor, data)
|
override fun visitJavaModifier(javaModifier: JKJavaModifier, data: D): JKModifier = visitModifier(javaModifier, data)
|
||||||
override fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): JKDeclaration = visitKtConstructor(ktPrimaryConstructor, data)
|
override fun visitKtFun(ktFun: JKKtFun, data: D): JKDeclaration = visitDeclaration(ktFun, data)
|
||||||
override fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: D): JKStatement = visitStatement(ktAssignmentStatement, data)
|
override fun visitKtConstructor(ktConstructor: JKKtConstructor, data: D): JKDeclaration = visitDeclaration(ktConstructor, data)
|
||||||
override fun visitKtCall(ktCall: JKKtCall, data: D): JKCall = visitCall(ktCall, data)
|
override fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): JKDeclaration = visitKtConstructor(ktPrimaryConstructor, data)
|
||||||
override fun visitKtProperty(ktProperty: JKKtProperty, data: D): JKDeclaration = visitDeclaration(ktProperty, data)
|
override fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: D): JKStatement = visitStatement(ktAssignmentStatement, data)
|
||||||
|
override fun visitKtCall(ktCall: JKKtCall, data: D): JKCall = visitCall(ktCall, data)
|
||||||
|
override fun visitKtProperty(ktProperty: JKKtProperty, data: D): JKDeclaration = visitDeclaration(ktProperty, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.j2k.tree.visitors
|
|||||||
import org.jetbrains.kotlin.j2k.tree.*
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
|
|
||||||
interface JKTransformerVoid : JKTransformer<Nothing?> {
|
interface JKTransformerVoid : JKTransformer<Nothing?> {
|
||||||
fun visitElement(element: JKElement): JKElement
|
fun visitElement(element: JKElement): JKElement
|
||||||
override fun visitElement(element: JKElement, data: Nothing?): JKElement = visitElement(element)
|
override fun visitElement(element: JKElement, data: Nothing?): JKElement = visitElement(element)
|
||||||
fun visitClass(klass: JKClass): JKClass = visitDeclaration(klass) as JKClass
|
fun visitClass(klass: JKClass): JKClass = visitDeclaration(klass) as JKClass
|
||||||
override fun visitClass(klass: JKClass, data: Nothing?): JKClass = visitClass(klass)
|
override fun visitClass(klass: JKClass, data: Nothing?): JKClass = visitClass(klass)
|
||||||
@@ -37,32 +37,36 @@ interface JKTransformerVoid : JKTransformer<Nothing?> {
|
|||||||
override fun visitValueArgument(valueArgument: JKValueArgument, data: Nothing?): JKValueArgument = visitValueArgument(valueArgument)
|
override fun visitValueArgument(valueArgument: JKValueArgument, data: Nothing?): JKValueArgument = visitValueArgument(valueArgument)
|
||||||
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression): JKStringLiteralExpression = visitLiteralExpression(stringLiteralExpression) as JKStringLiteralExpression
|
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression): JKStringLiteralExpression = visitLiteralExpression(stringLiteralExpression) as JKStringLiteralExpression
|
||||||
override fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: Nothing?): JKStringLiteralExpression = visitStringLiteralExpression(stringLiteralExpression)
|
override fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: Nothing?): JKStringLiteralExpression = visitStringLiteralExpression(stringLiteralExpression)
|
||||||
fun visitJavaField(javaField: JKJavaField): JKDeclaration = visitDeclaration(javaField)
|
fun visitModalityModifier(modalityModifier: JKModalityModifier): JKModalityModifier = visitModifier(modalityModifier) as JKModalityModifier
|
||||||
|
override fun visitModalityModifier(modalityModifier: JKModalityModifier, data: Nothing?): JKModalityModifier = visitModalityModifier(modalityModifier)
|
||||||
|
fun visitJavaField(javaField: JKJavaField): JKDeclaration = visitDeclaration(javaField)
|
||||||
override fun visitJavaField(javaField: JKJavaField, data: Nothing?): JKDeclaration = visitJavaField(javaField)
|
override fun visitJavaField(javaField: JKJavaField, data: Nothing?): JKDeclaration = visitJavaField(javaField)
|
||||||
fun visitJavaMethod(javaMethod: JKJavaMethod): JKDeclaration = visitDeclaration(javaMethod)
|
fun visitJavaMethod(javaMethod: JKJavaMethod): JKDeclaration = visitDeclaration(javaMethod)
|
||||||
override fun visitJavaMethod(javaMethod: JKJavaMethod, data: Nothing?): JKDeclaration = visitJavaMethod(javaMethod)
|
override fun visitJavaMethod(javaMethod: JKJavaMethod, data: Nothing?): JKDeclaration = visitJavaMethod(javaMethod)
|
||||||
fun visitJavaForLoop(javaForLoop: JKJavaForLoop): JKLoop = visitLoop(javaForLoop)
|
fun visitJavaForLoop(javaForLoop: JKJavaForLoop): JKLoop = visitLoop(javaForLoop)
|
||||||
override fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: Nothing?): JKLoop = visitJavaForLoop(javaForLoop)
|
override fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: Nothing?): JKLoop = visitJavaForLoop(javaForLoop)
|
||||||
fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression): JKExpression = visitExpression(javaAssignmentExpression)
|
fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression): JKExpression = visitExpression(javaAssignmentExpression)
|
||||||
override fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: Nothing?): JKExpression = visitJavaAssignmentExpression(javaAssignmentExpression)
|
override fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: Nothing?): JKExpression = visitJavaAssignmentExpression(javaAssignmentExpression)
|
||||||
fun visitJavaCall(javaCall: JKJavaCall): JKCall = visitCall(javaCall)
|
fun visitJavaCall(javaCall: JKJavaCall): JKCall = visitCall(javaCall)
|
||||||
override fun visitJavaCall(javaCall: JKJavaCall, data: Nothing?): JKCall = visitJavaCall(javaCall)
|
override fun visitJavaCall(javaCall: JKJavaCall, data: Nothing?): JKCall = visitJavaCall(javaCall)
|
||||||
fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier): JKTypeIdentifier = visitTypeIdentifier(javaTypeIdentifier)
|
fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier): JKTypeIdentifier = visitTypeIdentifier(javaTypeIdentifier)
|
||||||
override fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: Nothing?): JKTypeIdentifier = visitJavaTypeIdentifier(javaTypeIdentifier)
|
override fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: Nothing?): JKTypeIdentifier = visitJavaTypeIdentifier(javaTypeIdentifier)
|
||||||
fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression): JKLiteralExpression = visitLiteralExpression(javaStringLiteralExpression)
|
fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression): JKLiteralExpression = visitLiteralExpression(javaStringLiteralExpression)
|
||||||
override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?): JKLiteralExpression = visitJavaStringLiteralExpression(javaStringLiteralExpression)
|
override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?): JKLiteralExpression = visitJavaStringLiteralExpression(javaStringLiteralExpression)
|
||||||
fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier): JKAccessModifier = visitAccessModifier(javaAccessModifier)
|
fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier): JKAccessModifier = visitAccessModifier(javaAccessModifier)
|
||||||
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?): JKAccessModifier = visitJavaAccessModifier(javaAccessModifier)
|
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?): JKAccessModifier = visitJavaAccessModifier(javaAccessModifier)
|
||||||
fun visitKtFun(ktFun: JKKtFun): JKDeclaration = visitDeclaration(ktFun)
|
fun visitJavaModifier(javaModifier: JKJavaModifier): JKModifier = visitModifier(javaModifier)
|
||||||
|
override fun visitJavaModifier(javaModifier: JKJavaModifier, data: Nothing?): JKModifier = visitJavaModifier(javaModifier)
|
||||||
|
fun visitKtFun(ktFun: JKKtFun): JKDeclaration = visitDeclaration(ktFun)
|
||||||
override fun visitKtFun(ktFun: JKKtFun, data: Nothing?): JKDeclaration = visitKtFun(ktFun)
|
override fun visitKtFun(ktFun: JKKtFun, data: Nothing?): JKDeclaration = visitKtFun(ktFun)
|
||||||
fun visitKtConstructor(ktConstructor: JKKtConstructor): JKDeclaration = visitDeclaration(ktConstructor)
|
fun visitKtConstructor(ktConstructor: JKKtConstructor): JKDeclaration = visitDeclaration(ktConstructor)
|
||||||
override fun visitKtConstructor(ktConstructor: JKKtConstructor, data: Nothing?): JKDeclaration = visitKtConstructor(ktConstructor)
|
override fun visitKtConstructor(ktConstructor: JKKtConstructor, data: Nothing?): JKDeclaration = visitKtConstructor(ktConstructor)
|
||||||
fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor): JKDeclaration = visitKtConstructor(ktPrimaryConstructor)
|
fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor): JKDeclaration = visitKtConstructor(ktPrimaryConstructor)
|
||||||
override fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: Nothing?): JKDeclaration = visitKtPrimaryConstructor(ktPrimaryConstructor)
|
override fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: Nothing?): JKDeclaration = visitKtPrimaryConstructor(ktPrimaryConstructor)
|
||||||
fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement): JKStatement = visitStatement(ktAssignmentStatement)
|
fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement): JKStatement = visitStatement(ktAssignmentStatement)
|
||||||
override fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: Nothing?): JKStatement = visitKtAssignmentStatement(ktAssignmentStatement)
|
override fun visitKtAssignmentStatement(ktAssignmentStatement: JKKtAssignmentStatement, data: Nothing?): JKStatement = visitKtAssignmentStatement(ktAssignmentStatement)
|
||||||
fun visitKtCall(ktCall: JKKtCall): JKCall = visitCall(ktCall)
|
fun visitKtCall(ktCall: JKKtCall): JKCall = visitCall(ktCall)
|
||||||
override fun visitKtCall(ktCall: JKKtCall, data: Nothing?): JKCall = visitKtCall(ktCall)
|
override fun visitKtCall(ktCall: JKKtCall, data: Nothing?): JKCall = visitKtCall(ktCall)
|
||||||
fun visitKtProperty(ktProperty: JKKtProperty): JKDeclaration = visitDeclaration(ktProperty)
|
fun visitKtProperty(ktProperty: JKKtProperty): JKDeclaration = visitDeclaration(ktProperty)
|
||||||
override fun visitKtProperty(ktProperty: JKKtProperty, data: Nothing?): JKDeclaration = visitKtProperty(ktProperty)
|
override fun visitKtProperty(ktProperty: JKKtProperty, data: Nothing?): JKDeclaration = visitKtProperty(ktProperty)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.j2k.tree.visitors
|
|||||||
import org.jetbrains.kotlin.j2k.tree.*
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
|
|
||||||
interface JKVisitor<out R, in D> {
|
interface JKVisitor<out R, in D> {
|
||||||
fun visitElement(element: JKElement, data: D): R
|
fun visitElement(element: JKElement, data: D): R
|
||||||
fun visitClass(klass: JKClass, data: D): R = visitDeclaration(klass, data)
|
fun visitClass(klass: JKClass, data: D): R = visitDeclaration(klass, data)
|
||||||
fun visitStatement(statement: JKStatement, data: D): R = visitElement(statement, data)
|
fun visitStatement(statement: JKStatement, data: D): R = visitElement(statement, data)
|
||||||
fun visitExpression(expression: JKExpression, data: D): R = visitStatement(expression, data)
|
fun visitExpression(expression: JKExpression, data: D): R = visitStatement(expression, data)
|
||||||
@@ -20,6 +20,7 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): R = visitModifier(accessModifier, data)
|
fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): R = visitModifier(accessModifier, data)
|
||||||
fun visitValueArgument(valueArgument: JKValueArgument, data: D): R = visitElement(valueArgument, data)
|
fun visitValueArgument(valueArgument: JKValueArgument, data: D): R = visitElement(valueArgument, data)
|
||||||
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: D): R = visitLiteralExpression(stringLiteralExpression, data)
|
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: D): R = visitLiteralExpression(stringLiteralExpression, data)
|
||||||
|
fun visitModalityModifier(modalityModifier: JKModalityModifier, data: D): R = visitModifier(modalityModifier, data)
|
||||||
fun visitJavaField(javaField: JKJavaField, data: D): R = visitDeclaration(javaField, data)
|
fun visitJavaField(javaField: JKJavaField, data: D): R = visitDeclaration(javaField, data)
|
||||||
fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): R = visitDeclaration(javaMethod, data)
|
fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): R = visitDeclaration(javaMethod, data)
|
||||||
fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): R = visitLoop(javaForLoop, data)
|
fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): R = visitLoop(javaForLoop, data)
|
||||||
@@ -28,6 +29,7 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): R = visitTypeIdentifier(javaTypeIdentifier, data)
|
fun visitJavaTypeIdentifier(javaTypeIdentifier: JKJavaTypeIdentifier, data: D): R = visitTypeIdentifier(javaTypeIdentifier, data)
|
||||||
fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): R = visitLiteralExpression(javaStringLiteralExpression, data)
|
fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: D): R = visitLiteralExpression(javaStringLiteralExpression, data)
|
||||||
fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): R = visitAccessModifier(javaAccessModifier, data)
|
fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: D): R = visitAccessModifier(javaAccessModifier, data)
|
||||||
|
fun visitJavaModifier(javaModifier: JKJavaModifier, data: D): R = visitModifier(javaModifier, data)
|
||||||
fun visitKtFun(ktFun: JKKtFun, data: D): R = visitDeclaration(ktFun, data)
|
fun visitKtFun(ktFun: JKKtFun, data: D): R = visitDeclaration(ktFun, data)
|
||||||
fun visitKtConstructor(ktConstructor: JKKtConstructor, data: D): R = visitDeclaration(ktConstructor, data)
|
fun visitKtConstructor(ktConstructor: JKKtConstructor, data: D): R = visitDeclaration(ktConstructor, data)
|
||||||
fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): R = visitKtConstructor(ktPrimaryConstructor, data)
|
fun visitKtPrimaryConstructor(ktPrimaryConstructor: JKKtPrimaryConstructor, data: D): R = visitKtConstructor(ktPrimaryConstructor, data)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package org.jetbrains.kotlin.j2k.tree.visitors
|
|||||||
import org.jetbrains.kotlin.j2k.tree.*
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
|
|
||||||
interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
||||||
fun visitElement(element: JKElement)
|
fun visitElement(element: JKElement)
|
||||||
override fun visitElement(element: JKElement, data: Nothing?) = visitElement(element)
|
override fun visitElement(element: JKElement, data: Nothing?) = visitElement(element)
|
||||||
fun visitClass(klass: JKClass) = visitDeclaration(klass, null)
|
fun visitClass(klass: JKClass) = visitDeclaration(klass, null)
|
||||||
override fun visitClass(klass: JKClass, data: Nothing?) = visitClass(klass)
|
override fun visitClass(klass: JKClass, data: Nothing?) = visitClass(klass)
|
||||||
@@ -37,6 +37,8 @@ interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
|||||||
override fun visitValueArgument(valueArgument: JKValueArgument, data: Nothing?) = visitValueArgument(valueArgument)
|
override fun visitValueArgument(valueArgument: JKValueArgument, data: Nothing?) = visitValueArgument(valueArgument)
|
||||||
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression) = visitLiteralExpression(stringLiteralExpression, null)
|
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression) = visitLiteralExpression(stringLiteralExpression, null)
|
||||||
override fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: Nothing?) = visitStringLiteralExpression(stringLiteralExpression)
|
override fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: Nothing?) = visitStringLiteralExpression(stringLiteralExpression)
|
||||||
|
fun visitModalityModifier(modalityModifier: JKModalityModifier) = visitModifier(modalityModifier, null)
|
||||||
|
override fun visitModalityModifier(modalityModifier: JKModalityModifier, data: Nothing?) = visitModalityModifier(modalityModifier)
|
||||||
fun visitJavaField(javaField: JKJavaField) = visitDeclaration(javaField, null)
|
fun visitJavaField(javaField: JKJavaField) = visitDeclaration(javaField, null)
|
||||||
override fun visitJavaField(javaField: JKJavaField, data: Nothing?) = visitJavaField(javaField)
|
override fun visitJavaField(javaField: JKJavaField, data: Nothing?) = visitJavaField(javaField)
|
||||||
fun visitJavaMethod(javaMethod: JKJavaMethod) = visitDeclaration(javaMethod, null)
|
fun visitJavaMethod(javaMethod: JKJavaMethod) = visitDeclaration(javaMethod, null)
|
||||||
@@ -53,6 +55,8 @@ interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
|||||||
override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?) = visitJavaStringLiteralExpression(javaStringLiteralExpression)
|
override fun visitJavaStringLiteralExpression(javaStringLiteralExpression: JKJavaStringLiteralExpression, data: Nothing?) = visitJavaStringLiteralExpression(javaStringLiteralExpression)
|
||||||
fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) = visitAccessModifier(javaAccessModifier, null)
|
fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier) = visitAccessModifier(javaAccessModifier, null)
|
||||||
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?) = visitJavaAccessModifier(javaAccessModifier)
|
override fun visitJavaAccessModifier(javaAccessModifier: JKJavaAccessModifier, data: Nothing?) = visitJavaAccessModifier(javaAccessModifier)
|
||||||
|
fun visitJavaModifier(javaModifier: JKJavaModifier) = visitModifier(javaModifier, null)
|
||||||
|
override fun visitJavaModifier(javaModifier: JKJavaModifier, data: Nothing?) = visitJavaModifier(javaModifier)
|
||||||
fun visitKtFun(ktFun: JKKtFun) = visitDeclaration(ktFun, null)
|
fun visitKtFun(ktFun: JKKtFun) = visitDeclaration(ktFun, null)
|
||||||
override fun visitKtFun(ktFun: JKKtFun, data: Nothing?) = visitKtFun(ktFun)
|
override fun visitKtFun(ktFun: JKKtFun, data: Nothing?) = visitKtFun(ktFun)
|
||||||
fun visitKtConstructor(ktConstructor: JKKtConstructor) = visitDeclaration(ktConstructor, null)
|
fun visitKtConstructor(ktConstructor: JKKtConstructor) = visitDeclaration(ktConstructor, null)
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
package p;
|
||||||
|
|
||||||
|
public class Some {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Generated
+6
@@ -49,5 +49,11 @@ public class NewJavaToKotlinConverterNewSingleFileTestGenerated extends Abstract
|
|||||||
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/newFileOrElement/first/First.java");
|
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/newFileOrElement/first/First.java");
|
||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("Modifiers.java")
|
||||||
|
public void testModifiers() throws Exception {
|
||||||
|
String fileName = KotlinTestUtils.navigationMetadata("j2k/testData/newFileOrElement/first/Modifiers.java");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user