New J2K: Add try statement
This commit is contained in:
committed by
Ilya Kirillov
parent
594d0ba7e9
commit
8d45bce06a
@@ -26,6 +26,7 @@ object ConversionsRunner {
|
|||||||
+BinaryExpressionConversion(context)
|
+BinaryExpressionConversion(context)
|
||||||
+ThrowStatementConversion()
|
+ThrowStatementConversion()
|
||||||
+ArrayInitializerConversion(context)
|
+ArrayInitializerConversion(context)
|
||||||
|
+TryStatementConversion(context)
|
||||||
+ModalityConversion(context)
|
+ModalityConversion(context)
|
||||||
+ImplicitInitializerConversion()
|
+ImplicitInitializerConversion()
|
||||||
+DefaultArgumentsConversion(context)
|
+DefaultArgumentsConversion(context)
|
||||||
|
|||||||
@@ -382,11 +382,21 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
is PsiEmptyStatement -> JKEmptyStatementImpl()
|
is PsiEmptyStatement -> JKEmptyStatementImpl()
|
||||||
is PsiThrowStatement ->
|
is PsiThrowStatement ->
|
||||||
JKJavaThrowStatementImpl(with(expressionTreeMapper) { exception.toJK() })
|
JKJavaThrowStatementImpl(with(expressionTreeMapper) { exception.toJK() })
|
||||||
|
is PsiTryStatement ->
|
||||||
|
JKJavaTryStatementImpl(
|
||||||
|
tryBlock?.toJK() ?: JKBodyStub,
|
||||||
|
finallyBlock?.toJK() ?: JKBodyStub,
|
||||||
|
catchSections.map { it.toJK() }
|
||||||
|
)
|
||||||
else -> TODO("for ${this::class}")
|
else -> TODO("for ${this::class}")
|
||||||
}.also {
|
}.also {
|
||||||
if (this != null) (it as PsiOwner).psi = this
|
if (this != null) (it as PsiOwner).psi = this
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun PsiCatchSection.toJK(): JKJavaTryCatchSection =
|
||||||
|
JKJavaTryCatchSectionImpl(parameter?.toJK()!!, catchBlock?.toJK() ?: JKBodyStub)
|
||||||
|
.also { it.psi = this }
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO better way than generateSequence.last??
|
//TODO better way than generateSequence.last??
|
||||||
|
|||||||
@@ -45,6 +45,28 @@ class NewCodeBuilder {
|
|||||||
printer.print("/* !!! Hit visitElement for element type: ${treeElement::class} !!! */")
|
printer.print("/* !!! Hit visitElement for element type: ${treeElement::class} !!! */")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun visitKtTryExpression(ktTryExpression: JKKtTryExpression) {
|
||||||
|
printer.printlnWithNoIndent("try ")
|
||||||
|
if (ktTryExpression.tryBlock != JKBodyStub) {
|
||||||
|
printer.block { ktTryExpression.tryBlock.accept(this) }
|
||||||
|
}
|
||||||
|
ktTryExpression.catchSections.forEach { it.accept(this) }
|
||||||
|
if (ktTryExpression.finallyBlock != JKBodyStub) {
|
||||||
|
printer.printlnWithNoIndent("finally ")
|
||||||
|
printer.block { ktTryExpression.finallyBlock.accept(this) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun visitKtTryCatchSection(ktTryCatchSection: JKKtTryCatchSection) {
|
||||||
|
printer.printWithNoIndent("catch ")
|
||||||
|
printer.par {
|
||||||
|
ktTryCatchSection.parameter.accept(this)
|
||||||
|
}
|
||||||
|
if (ktTryCatchSection.block != JKBodyStub) {
|
||||||
|
printer.block { ktTryCatchSection.block.accept(this) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun visitKtForInStatement(ktForInStatement: JKKtForInStatement) {
|
override fun visitKtForInStatement(ktForInStatement: JKKtForInStatement) {
|
||||||
printer.printWithNoIndent("for (")
|
printer.printWithNoIndent("for (")
|
||||||
ktForInStatement.declaration.accept(this)
|
ktForInStatement.declaration.accept(this)
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||||
|
* that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.j2k.conversions
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.j2k.ConversionContext
|
||||||
|
import org.jetbrains.kotlin.j2k.copyTreeAndDetach
|
||||||
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
|
import org.jetbrains.kotlin.j2k.tree.impl.*
|
||||||
|
|
||||||
|
|
||||||
|
class TryStatementConversion(private val context: ConversionContext) : RecursiveApplicableConversionBase() {
|
||||||
|
override fun applyToElement(element: JKTreeElement): JKTreeElement {
|
||||||
|
if (element !is JKJavaTryStatement) return recurse(element)
|
||||||
|
val tryExpression = JKKtTryExpressionImpl(
|
||||||
|
element::tryBlock.detached(),
|
||||||
|
element::finallyBlock.detached(),
|
||||||
|
element.catchSections.flatMap(::convertCatchSection)
|
||||||
|
)
|
||||||
|
return recurse(JKExpressionStatementImpl(tryExpression))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun convertCatchSection(javaCatchSection: JKJavaTryCatchSection): List<JKKtTryCatchSection> {
|
||||||
|
javaCatchSection.block.detach(javaCatchSection)
|
||||||
|
return javaCatchSection.parameter.type.type.let {
|
||||||
|
(it as? JKJavaDisjunctionType)?.disjunctions ?: listOf(it)
|
||||||
|
}.map {
|
||||||
|
val parameter = JKParameterImpl(
|
||||||
|
JKTypeElementImpl(it),
|
||||||
|
javaCatchSection.parameter.name.copyTreeAndDetach(),
|
||||||
|
JKModifierListImpl()
|
||||||
|
)
|
||||||
|
JKKtTryCatchSectionImpl(
|
||||||
|
parameter,
|
||||||
|
javaCatchSection.block.copyTreeAndDetach()
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,6 +20,7 @@ import com.intellij.psi.JavaTokenType
|
|||||||
import com.intellij.psi.impl.source.tree.ElementType.OPERATION_BIT_SET
|
import com.intellij.psi.impl.source.tree.ElementType.OPERATION_BIT_SET
|
||||||
import com.intellij.psi.tree.IElementType
|
import com.intellij.psi.tree.IElementType
|
||||||
import org.jetbrains.kotlin.j2k.ast.Nullability
|
import org.jetbrains.kotlin.j2k.ast.Nullability
|
||||||
|
import org.jetbrains.kotlin.j2k.ast.Parameter
|
||||||
import org.jetbrains.kotlin.j2k.tree.*
|
import org.jetbrains.kotlin.j2k.tree.*
|
||||||
import org.jetbrains.kotlin.j2k.tree.JKLiteralExpression.LiteralType.*
|
import org.jetbrains.kotlin.j2k.tree.JKLiteralExpression.LiteralType.*
|
||||||
import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor
|
import org.jetbrains.kotlin.j2k.tree.visitors.JKVisitor
|
||||||
@@ -232,6 +233,11 @@ object JKJavaVoidType : JKType {
|
|||||||
class JKJavaArrayTypeImpl(override val type: JKType, override var nullability: Nullability = Nullability.Default) : JKJavaArrayType {
|
class JKJavaArrayTypeImpl(override val type: JKType, override var nullability: Nullability = Nullability.Default) : JKJavaArrayType {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class JKJavaDisjunctionTypeImpl(
|
||||||
|
override val disjunctions: List<JKType>,
|
||||||
|
override val nullability: Nullability = Nullability.Default
|
||||||
|
) : JKJavaDisjunctionType
|
||||||
|
|
||||||
class JKReturnStatementImpl(expression: JKExpression) : JKBranchElementBase(), JKReturnStatement, PsiOwner by PsiOwnerImpl() {
|
class JKReturnStatementImpl(expression: JKExpression) : JKBranchElementBase(), JKReturnStatement, PsiOwner by PsiOwnerImpl() {
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitReturnStatement(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitReturnStatement(this, data)
|
||||||
|
|
||||||
@@ -310,4 +316,25 @@ class JKJavaLabelSwitchCaseImpl(
|
|||||||
class JKJavaThrowStatementImpl(exception: JKExpression) : JKJavaThrowStatement, JKBranchElementBase(), PsiOwner by PsiOwnerImpl() {
|
class JKJavaThrowStatementImpl(exception: JKExpression) : JKJavaThrowStatement, JKBranchElementBase(), PsiOwner by PsiOwnerImpl() {
|
||||||
override var exception: JKExpression by child(exception)
|
override var exception: JKExpression by child(exception)
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaThrowStatement(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaThrowStatement(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
class JKJavaTryStatementImpl(
|
||||||
|
tryBlock: JKBlock,
|
||||||
|
finallyBlock: JKBlock,
|
||||||
|
catchSections: List<JKJavaTryCatchSection>
|
||||||
|
) : JKJavaTryStatement,
|
||||||
|
JKBranchElementBase(), PsiOwner by PsiOwnerImpl() {
|
||||||
|
override var tryBlock: JKBlock by child(tryBlock)
|
||||||
|
override var finallyBlock: JKBlock by child(finallyBlock)
|
||||||
|
override var catchSections: List<JKJavaTryCatchSection> by children(catchSections)
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaTryStatement(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
class JKJavaTryCatchSectionImpl(
|
||||||
|
parameter: JKParameter,
|
||||||
|
block: JKBlock
|
||||||
|
) : JKJavaTryCatchSection, JKBranchElementBase(), PsiOwner by PsiOwnerImpl() {
|
||||||
|
override var parameter: JKParameter by child(parameter)
|
||||||
|
override var block: JKBlock by child(block)
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitJavaTryCatchSection(this, data)
|
||||||
}
|
}
|
||||||
@@ -265,4 +265,24 @@ class JKKtConvertedFromForLoopSyntheticWhileStatementImpl(
|
|||||||
class JKKtThrowExpressionImpl(exception: JKExpression) : JKKtThrowExpression, JKBranchElementBase() {
|
class JKKtThrowExpressionImpl(exception: JKExpression) : JKKtThrowExpression, JKBranchElementBase() {
|
||||||
override var exception: JKExpression by child(exception)
|
override var exception: JKExpression by child(exception)
|
||||||
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitKtThrowExpression(this, data)
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitKtThrowExpression(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
class JKKtTryExpressionImpl(
|
||||||
|
tryBlock: JKBlock,
|
||||||
|
finallyBlock: JKBlock,
|
||||||
|
catchSections: List<JKKtTryCatchSection>
|
||||||
|
) : JKKtTryExpression, JKBranchElementBase(){
|
||||||
|
override var tryBlock: JKBlock by child(tryBlock)
|
||||||
|
override var finallyBlock: JKBlock by child(finallyBlock)
|
||||||
|
override var catchSections: List<JKKtTryCatchSection> by children(catchSections)
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitKtTryExpression(this, data)
|
||||||
|
}
|
||||||
|
|
||||||
|
class JKKtTryCatchSectionImpl(
|
||||||
|
parameter: JKParameter,
|
||||||
|
block: JKBlock
|
||||||
|
) : JKKtTryCatchSection, JKBranchElementBase() {
|
||||||
|
override var parameter: JKParameter by child(parameter)
|
||||||
|
override var block: JKBlock by child(block)
|
||||||
|
override fun <R, D> accept(visitor: JKVisitor<R, D>, data: D): R = visitor.visitKtTryCatchSection(this, data)
|
||||||
}
|
}
|
||||||
@@ -88,11 +88,22 @@ interface JKJavaAssignmentExpression : JKExpression, JKBranchElement {
|
|||||||
var operator: JKOperator
|
var operator: JKOperator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
interface JKJavaThrowStatement : JKStatement {
|
interface JKJavaThrowStatement : JKStatement {
|
||||||
var exception: JKExpression
|
var exception: JKExpression
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKJavaTryStatement : JKStatement {
|
||||||
|
var tryBlock: JKBlock
|
||||||
|
var finallyBlock: JKBlock
|
||||||
|
var catchSections: List<JKJavaTryCatchSection>
|
||||||
|
}
|
||||||
|
|
||||||
|
interface JKJavaTryCatchSection : JKTreeElement {
|
||||||
|
var parameter: JKParameter
|
||||||
|
var block: JKBlock
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
interface JKJavaSwitchStatement : JKStatement {
|
interface JKJavaSwitchStatement : JKStatement {
|
||||||
var expression: JKExpression
|
var expression: JKExpression
|
||||||
var cases: List<JKJavaSwitchCase>
|
var cases: List<JKJavaSwitchCase>
|
||||||
|
|||||||
@@ -98,4 +98,15 @@ interface JKKtConvertedFromForLoopSyntheticWhileStatement : JKStatement {
|
|||||||
|
|
||||||
interface JKKtThrowExpression : JKExpression {
|
interface JKKtThrowExpression : JKExpression {
|
||||||
var exception: JKExpression
|
var exception: JKExpression
|
||||||
|
}
|
||||||
|
|
||||||
|
interface JKKtTryExpression : JKExpression {
|
||||||
|
var tryBlock: JKBlock
|
||||||
|
var finallyBlock: JKBlock
|
||||||
|
var catchSections: List<JKKtTryCatchSection>
|
||||||
|
}
|
||||||
|
|
||||||
|
interface JKKtTryCatchSection : JKTreeElement {
|
||||||
|
var parameter: JKParameter
|
||||||
|
var block: JKBlock
|
||||||
}
|
}
|
||||||
@@ -86,6 +86,10 @@ interface JKStarProjectionType : JKType {
|
|||||||
get() = Nullability.NotNull
|
get() = Nullability.NotNull
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKJavaDisjunctionType : JKType {
|
||||||
|
val disjunctions: List<JKType>
|
||||||
|
}
|
||||||
|
|
||||||
inline fun <reified T> JKElement.getParentOfType(): T? {
|
inline fun <reified T> JKElement.getParentOfType(): T? {
|
||||||
var p = parent
|
var p = parent
|
||||||
while (true) {
|
while (true) {
|
||||||
|
|||||||
@@ -68,7 +68,9 @@ fun PsiType.toJK(symbolProvider: JKSymbolProvider, nullability: Nullability = Nu
|
|||||||
is PsiArrayType -> JKJavaArrayTypeImpl(componentType.toJK(symbolProvider, nullability), nullability)
|
is PsiArrayType -> JKJavaArrayTypeImpl(componentType.toJK(symbolProvider, nullability), nullability)
|
||||||
is PsiPrimitiveType -> JKJavaPrimitiveTypeImpl.KEYWORD_TO_INSTANCE[presentableText]
|
is PsiPrimitiveType -> JKJavaPrimitiveTypeImpl.KEYWORD_TO_INSTANCE[presentableText]
|
||||||
?: error("Invalid primitive type $presentableText")
|
?: error("Invalid primitive type $presentableText")
|
||||||
else -> throw Exception("Invalid PSI")
|
is PsiDisjunctionType ->
|
||||||
|
JKJavaDisjunctionTypeImpl(disjunctions.map { it.toJK(symbolProvider) })
|
||||||
|
else -> throw Exception("Invalid PSI ${this::class.java}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitJavaPolyadicExpression(javaPolyadicExpression: JKJavaPolyadicExpression, data: D): R = visitExpression(javaPolyadicExpression, data)
|
fun visitJavaPolyadicExpression(javaPolyadicExpression: JKJavaPolyadicExpression, data: D): R = visitExpression(javaPolyadicExpression, data)
|
||||||
fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): R = visitExpression(javaAssignmentExpression, data)
|
fun visitJavaAssignmentExpression(javaAssignmentExpression: JKJavaAssignmentExpression, data: D): R = visitExpression(javaAssignmentExpression, data)
|
||||||
fun visitJavaThrowStatement(javaThrowStatement: JKJavaThrowStatement, data: D): R = visitStatement(javaThrowStatement, data)
|
fun visitJavaThrowStatement(javaThrowStatement: JKJavaThrowStatement, data: D): R = visitStatement(javaThrowStatement, data)
|
||||||
|
fun visitJavaTryStatement(javaTryStatement: JKJavaTryStatement, data: D): R = visitStatement(javaTryStatement, data)
|
||||||
|
fun visitJavaTryCatchSection(javaTryCatchSection: JKJavaTryCatchSection, data: D): R = visitTreeElement(javaTryCatchSection, data)
|
||||||
fun visitJavaContinueStatement(javaContinueStatement: JKJavaContinueStatement, data: D): R = visitStatement(javaContinueStatement, data)
|
fun visitJavaContinueStatement(javaContinueStatement: JKJavaContinueStatement, data: D): R = visitStatement(javaContinueStatement, data)
|
||||||
fun visitJavaSwitchStatement(javaSwitchStatement: JKJavaSwitchStatement, data: D): R = visitStatement(javaSwitchStatement, data)
|
fun visitJavaSwitchStatement(javaSwitchStatement: JKJavaSwitchStatement, data: D): R = visitStatement(javaSwitchStatement, data)
|
||||||
fun visitJavaSwitchCase(javaSwitchCase: JKJavaSwitchCase, data: D): R = visitTreeElement(javaSwitchCase, data)
|
fun visitJavaSwitchCase(javaSwitchCase: JKJavaSwitchCase, data: D): R = visitTreeElement(javaSwitchCase, data)
|
||||||
@@ -102,4 +104,6 @@ interface JKVisitor<out R, in D> {
|
|||||||
fun visitKtOperatorExpression(ktOperatorExpression: JKKtOperatorExpression, data: D): R = visitExpression(ktOperatorExpression, data)
|
fun visitKtOperatorExpression(ktOperatorExpression: JKKtOperatorExpression, data: D): R = visitExpression(ktOperatorExpression, data)
|
||||||
fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement, data: D): R = visitStatement(ktConvertedFromForLoopSyntheticWhileStatement, data)
|
fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement, data: D): R = visitStatement(ktConvertedFromForLoopSyntheticWhileStatement, data)
|
||||||
fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression, data: D): R = visitExpression(ktThrowExpression, data)
|
fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression, data: D): R = visitExpression(ktThrowExpression, data)
|
||||||
|
fun visitKtTryExpression(ktTryExpression: JKKtTryExpression, data: D): R = visitExpression(ktTryExpression, data)
|
||||||
|
fun visitKtTryCatchSection(ktTryCatchSection: JKKtTryCatchSection, data: D): R = visitTreeElement(ktTryCatchSection, data)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -159,6 +159,10 @@ interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
|||||||
override fun visitJavaLabelSwitchCase(javaLabelSwitchCase: JKJavaLabelSwitchCase, data: Nothing?) = visitJavaLabelSwitchCase(javaLabelSwitchCase)
|
override fun visitJavaLabelSwitchCase(javaLabelSwitchCase: JKJavaLabelSwitchCase, data: Nothing?) = visitJavaLabelSwitchCase(javaLabelSwitchCase)
|
||||||
fun visitJavaContinueStatement(javaContinueStatement: JKJavaContinueStatement) = visitStatement(javaContinueStatement, null)
|
fun visitJavaContinueStatement(javaContinueStatement: JKJavaContinueStatement) = visitStatement(javaContinueStatement, null)
|
||||||
override fun visitJavaContinueStatement(javaContinueStatement: JKJavaContinueStatement, data: Nothing?) = visitJavaContinueStatement(javaContinueStatement)
|
override fun visitJavaContinueStatement(javaContinueStatement: JKJavaContinueStatement, data: Nothing?) = visitJavaContinueStatement(javaContinueStatement)
|
||||||
|
fun visitJavaTryStatement(javaTryStatement: JKJavaTryStatement) = visitStatement(javaTryStatement, null)
|
||||||
|
override fun visitJavaTryStatement(javaTryStatement: JKJavaTryStatement, data: Nothing?) = visitJavaTryStatement(javaTryStatement)
|
||||||
|
fun visitJavaTryCatchSection(javaTryCatchSection: JKJavaTryCatchSection) = visitTreeElement(javaTryCatchSection, null)
|
||||||
|
override fun visitJavaTryCatchSection(javaTryCatchSection: JKJavaTryCatchSection, data: Nothing?) = visitJavaTryCatchSection(javaTryCatchSection)
|
||||||
fun visitKtProperty(ktProperty: JKKtProperty) = visitField(ktProperty, null)
|
fun visitKtProperty(ktProperty: JKKtProperty) = visitField(ktProperty, null)
|
||||||
override fun visitKtProperty(ktProperty: JKKtProperty, data: Nothing?) = visitKtProperty(ktProperty)
|
override fun visitKtProperty(ktProperty: JKKtProperty, data: Nothing?) = visitKtProperty(ktProperty)
|
||||||
fun visitKtFunction(ktFunction: JKKtFunction) = visitMethod(ktFunction, null)
|
fun visitKtFunction(ktFunction: JKKtFunction) = visitMethod(ktFunction, null)
|
||||||
@@ -201,4 +205,8 @@ interface JKVisitorVoid : JKVisitor<Unit, Nothing?> {
|
|||||||
override fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement, data: Nothing?) = visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement)
|
override fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement, data: Nothing?) = visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement)
|
||||||
fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression) = visitExpression(ktThrowExpression, null)
|
fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression) = visitExpression(ktThrowExpression, null)
|
||||||
override fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression, data: Nothing?) = visitKtThrowExpression(ktThrowExpression)
|
override fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression, data: Nothing?) = visitKtThrowExpression(ktThrowExpression)
|
||||||
|
fun visitKtTryExpression(ktTryExpression: JKKtTryExpression) = visitExpression(ktTryExpression, null)
|
||||||
|
override fun visitKtTryExpression(ktTryExpression: JKKtTryExpression, data: Nothing?) = visitKtTryExpression(ktTryExpression)
|
||||||
|
fun visitKtTryCatchSection(ktTryCatchSection: JKKtTryCatchSection) = visitTreeElement(ktTryCatchSection, null)
|
||||||
|
override fun visitKtTryCatchSection(ktTryCatchSection: JKKtTryCatchSection, data: Nothing?) = visitKtTryCatchSection(ktTryCatchSection)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user