New J2K: Added declaration statements, local variables and stub expression.
This commit is contained in:
@@ -232,8 +232,8 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
return JKJavaFieldImpl(
|
return JKJavaFieldImpl(
|
||||||
with(modifierMapper) { modifierList.toJK() },
|
with(modifierMapper) { modifierList.toJK() },
|
||||||
with(expressionTreeMapper) { typeElement?.toJK() } ?: TODO(),
|
with(expressionTreeMapper) { typeElement?.toJK() } ?: TODO(),
|
||||||
JKNameIdentifierImpl(this.name),
|
JKNameIdentifierImpl(name),
|
||||||
with(expressionTreeMapper) { initializer?.toJK() } ?: TODO()
|
with(expressionTreeMapper) { initializer?.toJK() } ?: JKStubExpressionImpl()
|
||||||
).also {
|
).also {
|
||||||
(symbolProvider.provideSymbol(this) as? JKUniverseFieldSymbol)?.run { target = it }
|
(symbolProvider.provideSymbol(this) as? JKUniverseFieldSymbol)?.run { target = it }
|
||||||
}
|
}
|
||||||
@@ -265,14 +265,26 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
return JKBlockImpl(statements.map { it.toJK() })
|
return JKBlockImpl(statements.map { it.toJK() })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Array<out PsiElement>.toJK(): List<JKDeclaration> {
|
||||||
|
return this.map {
|
||||||
|
if (it is PsiLocalVariable) {
|
||||||
|
JKLocalVariableImpl(
|
||||||
|
with(modifierMapper) { it.modifierList.toJK() },
|
||||||
|
with(expressionTreeMapper) { it.typeElement.toJK() },
|
||||||
|
JKNameIdentifierImpl(it.name ?: TODO()),
|
||||||
|
with(expressionTreeMapper) { it.initializer?.toJK() } ?: JKStubExpressionImpl()
|
||||||
|
).also { i -> symbolProvider.symbols[it] = JKUniverseFieldSymbol(i) }
|
||||||
|
} else TODO()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun PsiStatement.toJK(): JKStatement {
|
fun PsiStatement.toJK(): JKStatement {
|
||||||
if (this is PsiExpressionStatement) {
|
return when (this) {
|
||||||
return JKExpressionStatementImpl(with(expressionTreeMapper) { expression.toJK() })
|
is PsiExpressionStatement -> JKExpressionStatementImpl(with(expressionTreeMapper) { expression.toJK() })
|
||||||
|
is PsiReturnStatement -> JKReturnStatementImpl(with(expressionTreeMapper) { returnValue?.toJK() ?: JKStubExpressionImpl() })
|
||||||
|
is PsiDeclarationStatement -> JKDeclarationStatementImpl(declaredElements.toJK())
|
||||||
|
else -> TODO("for ${this::class}")
|
||||||
}
|
}
|
||||||
if (this is PsiReturnStatement) {
|
|
||||||
return JKReturnStatementImpl(with(expressionTreeMapper) { returnValue?.toJK() ?: TODO() })
|
|
||||||
}
|
|
||||||
TODO("for ${this::class}")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,13 +21,8 @@ import org.jetbrains.kotlin.j2k.tree.JKLiteralExpression.LiteralType.*
|
|||||||
import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor
|
import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor
|
||||||
import org.jetbrains.kotlin.resolve.jvm.JvmPrimitiveType
|
import org.jetbrains.kotlin.resolve.jvm.JvmPrimitiveType
|
||||||
|
|
||||||
class JKJavaFieldImpl(
|
class JKJavaFieldImpl(modifierList: JKModifierList, type: JKTypeElement, name: JKNameIdentifier, initializer: JKExpression) : JKJavaField,
|
||||||
modifierList: JKModifierList,
|
JKBranchElementBase() {
|
||||||
type: JKTypeElement,
|
|
||||||
name: JKNameIdentifier,
|
|
||||||
initializer: JKExpression
|
|
||||||
) : JKJavaField, JKBranchElementBase() {
|
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaField(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaField(this, data)
|
||||||
|
|
||||||
override var initializer: JKExpression by child(initializer)
|
override var initializer: JKExpression by child(initializer)
|
||||||
@@ -37,13 +32,8 @@ class JKJavaFieldImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class JKJavaMethodImpl(
|
class JKJavaMethodImpl(
|
||||||
modifierList: JKModifierList,
|
modifierList: JKModifierList, returnType: JKTypeElement, name: JKNameIdentifier, valueArguments: List<JKValueArgument>, block: JKBlock
|
||||||
returnType: JKTypeElement,
|
|
||||||
name: JKNameIdentifier,
|
|
||||||
valueArguments: List<JKValueArgument>,
|
|
||||||
block: JKBlock
|
|
||||||
) : JKJavaMethod, JKBranchElementBase() {
|
) : JKJavaMethod, JKBranchElementBase() {
|
||||||
|
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaMethod(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaMethod(this, data)
|
||||||
|
|
||||||
override var modifierList: JKModifierList by child(modifierList)
|
override var modifierList: JKModifierList by child(modifierList)
|
||||||
@@ -65,7 +55,6 @@ class JKJavaLiteralExpressionImpl(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class JKJavaAccessModifierImpl(override val type: JKJavaAccessModifier.AccessModifierType) : JKJavaAccessModifier, JKElementBase() {
|
class JKJavaAccessModifierImpl(override val type: JKJavaAccessModifier.AccessModifierType) : JKJavaAccessModifier, JKElementBase() {
|
||||||
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)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ class JKClassImpl(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class JKNameIdentifierImpl(override val value: String) : JKNameIdentifier, JKElementBase() {}
|
class JKNameIdentifierImpl(override val value: String) : JKNameIdentifier, JKElementBase() {}
|
||||||
|
|
||||||
class JKModifierListImpl(
|
class JKModifierListImpl(
|
||||||
@@ -59,6 +58,7 @@ class JKBlockImpl(statements: List<JKStatement> = emptyList()) : JKBlock, JKBran
|
|||||||
override var statements by children(statements)
|
override var statements by children(statements)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class JKBinaryExpressionImpl(
|
class JKBinaryExpressionImpl(
|
||||||
left: JKExpression,
|
left: JKExpression,
|
||||||
right: JKExpression,
|
right: JKExpression,
|
||||||
@@ -100,14 +100,18 @@ class JKQualifiedExpressionImpl(
|
|||||||
override var selector: JKExpression by child(selector)
|
override var selector: JKExpression by child(selector)
|
||||||
}
|
}
|
||||||
|
|
||||||
class JKExpressionStatementImpl(
|
class JKExpressionStatementImpl(expression: JKExpression) : JKExpressionStatement, JKBranchElementBase() {
|
||||||
expression: JKExpression
|
|
||||||
) : JKExpressionStatement, JKBranchElementBase() {
|
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitExpressionStatement(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitExpressionStatement(this, data)
|
||||||
|
|
||||||
override val expression: JKExpression by child(expression)
|
override val expression: JKExpression by child(expression)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class JKDeclarationStatementImpl(declaredStatements: List<JKDeclaration>) : JKDeclarationStatement, JKBranchElementBase() {
|
||||||
|
override val declaredStatements by children(declaredStatements)
|
||||||
|
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitDeclarationStatement(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
class JKArrayAccessExpressionImpl(
|
class JKArrayAccessExpressionImpl(
|
||||||
expression: JKExpression,
|
expression: JKExpression,
|
||||||
indexExpression: JKExpression
|
indexExpression: JKExpression
|
||||||
@@ -151,3 +155,15 @@ class JKBooleanLiteral(val value: Boolean) : JKLiteralExpression, JKElementBase(
|
|||||||
override val type: LiteralType
|
override val type: LiteralType
|
||||||
get() = BOOLEAN
|
get() = BOOLEAN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class JKLocalVariableImpl(modifierList: JKModifierList, type: JKTypeElement, name: JKNameIdentifier, initializer: JKExpression) :
|
||||||
|
JKLocalVariable, JKBranchElementBase() {
|
||||||
|
override var modifierList by child(modifierList)
|
||||||
|
override val initializer by child(initializer)
|
||||||
|
override val name by child(name)
|
||||||
|
override val type by child(type)
|
||||||
|
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitLocalVariable(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
class JKStubExpressionImpl() : JKStubExpression, JKElementBase()
|
||||||
|
|||||||
@@ -69,7 +69,11 @@ class JKMultiverseMethodSymbol(override val target: PsiMethod) : JKMethodSymbol
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class JKUniverseFieldSymbol : JKFieldSymbol {
|
class JKUniverseFieldSymbol() : JKFieldSymbol {
|
||||||
|
constructor(target: JKField) : this() {
|
||||||
|
this.target = target
|
||||||
|
}
|
||||||
|
|
||||||
override lateinit var target: JKField
|
override lateinit var target: JKField
|
||||||
override val declaredIn: JKSymbol
|
override val declaredIn: JKSymbol
|
||||||
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
|
get() = TODO("not implemented") //To change initializer of created properties use File | Settings | File Templates.
|
||||||
|
|||||||
@@ -18,9 +18,7 @@ package org.jetbrains.kotlin.j2k.tree
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.j2k.tree.impl.JKMethodSymbol
|
import org.jetbrains.kotlin.j2k.tree.impl.JKMethodSymbol
|
||||||
|
|
||||||
interface JKJavaField : JKField, JKBranchElement {
|
interface JKJavaField : JKField, JKBranchElement
|
||||||
val initializer: JKExpression
|
|
||||||
}
|
|
||||||
|
|
||||||
interface JKJavaMethod : JKMethod, JKBranchElement {
|
interface JKJavaMethod : JKMethod, JKBranchElement {
|
||||||
val block: JKBlock
|
val block: JKBlock
|
||||||
|
|||||||
@@ -47,8 +47,11 @@ interface JKMethod : JKDeclaration, JKModifierListOwner {
|
|||||||
interface JKField : JKDeclaration, JKModifierListOwner {
|
interface JKField : JKDeclaration, JKModifierListOwner {
|
||||||
val type: JKTypeElement
|
val type: JKTypeElement
|
||||||
val name: JKNameIdentifier
|
val name: JKNameIdentifier
|
||||||
|
val initializer: JKExpression
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKLocalVariable : JKField
|
||||||
|
|
||||||
interface JKModifier : JKTreeElement
|
interface JKModifier : JKTreeElement
|
||||||
|
|
||||||
interface JKModifierList : JKTreeElement {
|
interface JKModifierList : JKTreeElement {
|
||||||
@@ -83,6 +86,10 @@ interface JKExpressionStatement : JKStatement {
|
|||||||
val expression: JKExpression
|
val expression: JKExpression
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKDeclarationStatement : JKStatement {
|
||||||
|
val declaredStatements: List<JKDeclaration>
|
||||||
|
}
|
||||||
|
|
||||||
interface JKBinaryExpression : JKExpression {
|
interface JKBinaryExpression : JKExpression {
|
||||||
var left: JKExpression
|
var left: JKExpression
|
||||||
var right: JKExpression
|
var right: JKExpression
|
||||||
@@ -147,4 +154,6 @@ interface JKValueArgument : JKTreeElement {
|
|||||||
|
|
||||||
interface JKStringLiteralExpression : JKLiteralExpression {
|
interface JKStringLiteralExpression : JKLiteralExpression {
|
||||||
val text: String
|
val text: String
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKStubExpression : JKExpression
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
package org.jetbrains.kotlin.j2k.tree
|
package org.jetbrains.kotlin.j2k.tree
|
||||||
|
|
||||||
interface JKKtProperty : JKField {
|
interface JKKtProperty : JKField {
|
||||||
val initializer: JKExpression
|
|
||||||
val getter: JKBlock
|
val getter: JKBlock
|
||||||
val setter: JKBlock
|
val setter: JKBlock
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitClass(klass: JKClass, data: D): R = visitDeclaration(klass, data)
|
fun visitClass(klass: JKClass, data: D): R = visitDeclaration(klass, data)
|
||||||
fun visitMethod(method: JKMethod, data: D): R = visitDeclaration(method, data)
|
fun visitMethod(method: JKMethod, data: D): R = visitDeclaration(method, data)
|
||||||
fun visitField(field: JKField, data: D): R = visitDeclaration(field, data)
|
fun visitField(field: JKField, data: D): R = visitDeclaration(field, data)
|
||||||
|
fun visitLocalVariable(localVariable: JKLocalVariable, data: D): R = visitField(localVariable, data)
|
||||||
fun visitModifier(modifier: JKModifier, data: D): R = visitTreeElement(modifier, data)
|
fun visitModifier(modifier: JKModifier, data: D): R = visitTreeElement(modifier, data)
|
||||||
fun visitModifierList(modifierList: JKModifierList, data: D): R = visitTreeElement(modifierList, data)
|
fun visitModifierList(modifierList: JKModifierList, data: D): R = visitTreeElement(modifierList, data)
|
||||||
fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): R = visitModifier(accessModifier, data)
|
fun visitAccessModifier(accessModifier: JKAccessModifier, data: D): R = visitModifier(accessModifier, data)
|
||||||
@@ -20,6 +21,7 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitNameIdentifier(nameIdentifier: JKNameIdentifier, data: D): R = visitIdentifier(nameIdentifier, data)
|
fun visitNameIdentifier(nameIdentifier: JKNameIdentifier, data: D): R = visitIdentifier(nameIdentifier, data)
|
||||||
fun visitExpression(expression: JKExpression, data: D): R = visitTreeElement(expression, data)
|
fun visitExpression(expression: JKExpression, data: D): R = visitTreeElement(expression, data)
|
||||||
fun visitExpressionStatement(expressionStatement: JKExpressionStatement, data: D): R = visitStatement(expressionStatement, data)
|
fun visitExpressionStatement(expressionStatement: JKExpressionStatement, data: D): R = visitStatement(expressionStatement, data)
|
||||||
|
fun visitDeclarationStatement(declarationStatement: JKDeclarationStatement, data: D): R = visitStatement(declarationStatement, data)
|
||||||
fun visitBinaryExpression(binaryExpression: JKBinaryExpression, data: D): R = visitExpression(binaryExpression, data)
|
fun visitBinaryExpression(binaryExpression: JKBinaryExpression, data: D): R = visitExpression(binaryExpression, data)
|
||||||
fun visitUnaryExpression(unaryExpression: JKUnaryExpression, data: D): R = visitExpression(unaryExpression, data)
|
fun visitUnaryExpression(unaryExpression: JKUnaryExpression, data: D): R = visitExpression(unaryExpression, data)
|
||||||
fun visitPrefixExpression(prefixExpression: JKPrefixExpression, data: D): R = visitUnaryExpression(prefixExpression, data)
|
fun visitPrefixExpression(prefixExpression: JKPrefixExpression, data: D): R = visitUnaryExpression(prefixExpression, data)
|
||||||
@@ -34,6 +36,7 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitLiteralExpression(literalExpression: JKLiteralExpression, data: D): R = visitExpression(literalExpression, data)
|
fun visitLiteralExpression(literalExpression: JKLiteralExpression, data: D): R = visitExpression(literalExpression, data)
|
||||||
fun visitValueArgument(valueArgument: JKValueArgument, data: D): R = visitTreeElement(valueArgument, data)
|
fun visitValueArgument(valueArgument: JKValueArgument, data: D): R = visitTreeElement(valueArgument, data)
|
||||||
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: D): R = visitLiteralExpression(stringLiteralExpression, data)
|
fun visitStringLiteralExpression(stringLiteralExpression: JKStringLiteralExpression, data: D): R = visitLiteralExpression(stringLiteralExpression, data)
|
||||||
|
fun visitStubExpression(stubExpression: JKStubExpression, data: D): R = visitExpression(stubExpression, data)
|
||||||
fun visitJavaField(javaField: JKJavaField, data: D): R = visitField(javaField, data)
|
fun visitJavaField(javaField: JKJavaField, data: D): R = visitField(javaField, data)
|
||||||
fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): R = visitMethod(javaMethod, data)
|
fun visitJavaMethod(javaMethod: JKJavaMethod, data: D): R = visitMethod(javaMethod, data)
|
||||||
fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): R = visitLoop(javaForLoop, data)
|
fun visitJavaForLoop(javaForLoop: JKJavaForLoop, data: D): R = visitLoop(javaForLoop, data)
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
|||||||
override fun visitMethod(method: JKMethod, data: Nothing?) = visitMethod(method)
|
override fun visitMethod(method: JKMethod, data: Nothing?) = visitMethod(method)
|
||||||
fun visitField(field: JKField) = visitDeclaration(field, null)
|
fun visitField(field: JKField) = visitDeclaration(field, null)
|
||||||
override fun visitField(field: JKField, data: Nothing?) = visitField(field)
|
override fun visitField(field: JKField, data: Nothing?) = visitField(field)
|
||||||
|
fun visitLocalVariable(localVariable: JKLocalVariable) = visitField(localVariable, null)
|
||||||
|
override fun visitLocalVariable(localVariable: JKLocalVariable, data: Nothing?) = visitLocalVariable(localVariable)
|
||||||
fun visitModifier(modifier: JKModifier) = visitTreeElement(modifier, null)
|
fun visitModifier(modifier: JKModifier) = visitTreeElement(modifier, null)
|
||||||
override fun visitModifier(modifier: JKModifier, data: Nothing?) = visitModifier(modifier)
|
override fun visitModifier(modifier: JKModifier, data: Nothing?) = visitModifier(modifier)
|
||||||
fun visitModifierList(modifierList: JKModifierList) = visitTreeElement(modifierList, null)
|
fun visitModifierList(modifierList: JKModifierList) = visitTreeElement(modifierList, null)
|
||||||
@@ -37,6 +39,8 @@ interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
|||||||
override fun visitExpression(expression: JKExpression, data: Nothing?) = visitExpression(expression)
|
override fun visitExpression(expression: JKExpression, data: Nothing?) = visitExpression(expression)
|
||||||
fun visitExpressionStatement(expressionStatement: JKExpressionStatement) = visitStatement(expressionStatement, null)
|
fun visitExpressionStatement(expressionStatement: JKExpressionStatement) = visitStatement(expressionStatement, null)
|
||||||
override fun visitExpressionStatement(expressionStatement: JKExpressionStatement, data: Nothing?) = visitExpressionStatement(expressionStatement)
|
override fun visitExpressionStatement(expressionStatement: JKExpressionStatement, data: Nothing?) = visitExpressionStatement(expressionStatement)
|
||||||
|
fun visitDeclarationStatement(declarationStatement: JKDeclarationStatement) = visitStatement(declarationStatement, null)
|
||||||
|
override fun visitDeclarationStatement(declarationStatement: JKDeclarationStatement, data: Nothing?) = visitDeclarationStatement(declarationStatement)
|
||||||
fun visitBinaryExpression(binaryExpression: JKBinaryExpression) = visitExpression(binaryExpression, null)
|
fun visitBinaryExpression(binaryExpression: JKBinaryExpression) = visitExpression(binaryExpression, null)
|
||||||
override fun visitBinaryExpression(binaryExpression: JKBinaryExpression, data: Nothing?) = visitBinaryExpression(binaryExpression)
|
override fun visitBinaryExpression(binaryExpression: JKBinaryExpression, data: Nothing?) = visitBinaryExpression(binaryExpression)
|
||||||
fun visitUnaryExpression(unaryExpression: JKUnaryExpression) = visitExpression(unaryExpression, null)
|
fun visitUnaryExpression(unaryExpression: JKUnaryExpression) = visitExpression(unaryExpression, null)
|
||||||
@@ -65,6 +69,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 visitStubExpression(stubExpression: JKStubExpression) = visitExpression(stubExpression, null)
|
||||||
|
override fun visitStubExpression(stubExpression: JKStubExpression, data: Nothing?) = visitStubExpression(stubExpression)
|
||||||
fun visitJavaField(javaField: JKJavaField) = visitField(javaField, null)
|
fun visitJavaField(javaField: JKJavaField) = visitField(javaField, null)
|
||||||
override fun visitJavaField(javaField: JKJavaField, data: Nothing?) = visitJavaField(javaField)
|
override fun visitJavaField(javaField: JKJavaField, data: Nothing?) = visitJavaField(javaField)
|
||||||
fun visitJavaMethod(javaMethod: JKJavaMethod) = visitMethod(javaMethod, null)
|
fun visitJavaMethod(javaMethod: JKJavaMethod) = visitMethod(javaMethod, null)
|
||||||
|
|||||||
Reference in New Issue
Block a user