diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt index cfeb86686a1..b1652211485 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/ConversionsRunner.kt @@ -41,27 +41,30 @@ object ConversionsRunner { +ConstructorConversion(context) +ImplicitInitializerConversion(context) +ParameterModificationInMethodCallsConversion(context) - +PrimitiveTypesInitializersConversion(context) +DefaultArgumentsConversion(context) +PrintlnConversion(context) +BlockToRunConversion(context) - +LowerNullabilityInFunctionParametersConversion(context) + +JetbrainsNullableAnnotationsConverter(context) +PrimaryConstructorDetectConversion(context) +InsertDefaultPrimaryConstructorConversion(context) +FieldToPropertyConversion() +JavaStandartMethodsConversion(context) +JavaMethodToKotlinFunctionConversion(context) +MainFunctionConversion(context) - +LiteralConversion() +AssertStatementConversion(context) - +PolyadicExpressionConversion() + +PolyadicExpressionConversion(context) +SwitchStatementConversion(context) - +InstanceOfConversion() + +LiteralConversion() +ForConversion(context) +ForInConversion() +CollectionOperationsConversion(context) +ArrayOperationsConversion(context) +TypeMappingConversion(context) + +ImplicitCastsConversion(context) + +LowerNullabilityInFunctionParametersConversion(context) + +FixNullabilityBySuperFunctionConversion(context) + +DefaultNullabilityToNullableConversion() + +NullableQualifierConversion(context) +StringMethodsConversion(context) //Kotlin --> Kotlin conversions diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt index 6c59af9ca56..eeb62608b24 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/NewCodeBuilder.kt @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.j2k import org.jetbrains.kotlin.j2k.NewCodeBuilder.ParenthesisKind.* -import org.jetbrains.kotlin.j2k.ast.Mutability import org.jetbrains.kotlin.j2k.ast.Nullability import org.jetbrains.kotlin.j2k.conversions.parentOfType import org.jetbrains.kotlin.j2k.tree.* @@ -345,14 +344,6 @@ class NewCodeBuilder { } } - override fun visitKtOperatorExpression(ktOperatorExpression: JKKtOperatorExpression) { - ktOperatorExpression.receiver.accept(this) - printer.printWithNoIndent(" ") - printer.printWithNoIndent(ktOperatorExpression.identifier.name) - printer.printWithNoIndent(" ") - ktOperatorExpression.argument.accept(this) - } - override fun visitIfElseExpression(ifElseExpression: JKIfElseExpression) { printer.printWithNoIndent("if (") ifElseExpression.condition.accept(this) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt index 46dbb249e65..1d89a45fadf 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/expressions.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.j2k.conversions.multiResolveFqName import org.jetbrains.kotlin.j2k.conversions.resolveFqName import org.jetbrains.kotlin.j2k.tree.* import org.jetbrains.kotlin.j2k.tree.impl.* +import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.psi.KtNamedFunction import java.math.BigInteger @@ -150,7 +151,7 @@ fun untilToExpression( to: JKExpression, conversionContext: ConversionContext, psiContext: PsiElement -): JKKtOperatorExpression = +): JKExpression = rangeExpression( from, to, @@ -164,7 +165,7 @@ fun downToExpression( to: JKExpression, conversionContext: ConversionContext, psiContext: PsiElement -): JKKtOperatorExpression = +): JKExpression = rangeExpression( from, to, @@ -179,11 +180,11 @@ fun rangeExpression( operatorName: String, conversionContext: ConversionContext, psiContext: PsiElement -): JKKtOperatorExpressionImpl { +): JKExpression { val symbol = conversionContext.symbolProvider.provideDirectSymbol( multiResolveFqName(ClassId.fromString("kotlin/ranges/$operatorName"), psiContext).first() ) as JKMethodSymbol - return JKKtOperatorExpressionImpl(from, symbol, to) + return JKBinaryExpressionImpl(from, to, JKKtOperatorImpl(JKKtWordOperatorToken(operatorName), symbol)) } fun blockStatement(vararg statements: JKStatement) = diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt index 73c31c52a97..63628c63a59 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/k.kt @@ -241,15 +241,6 @@ class JKKtInitDeclarationImpl(block: JKBlock) : JKKtInitDeclaration, JKBranchEle override fun accept(visitor: JKVisitor, data: D): R = visitor.visitKtInitDeclaration(this, data) } -class JKKtOperatorExpressionImpl( - receiver: JKExpression, - override var identifier: JKMethodSymbol, - argument: JKExpression -) : JKKtOperatorExpression, JKBranchElementBase() { - override var receiver: JKExpression by child(receiver) - override var argument: JKExpression by child(argument) - override fun accept(visitor: JKVisitor, data: D): R = visitor.visitKtOperatorExpression(this, data) -} class JKKtConvertedFromForLoopSyntheticWhileStatementImpl( variableDeclaration: JKStatement, diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt index 901a389bf3f..0beaa594593 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt @@ -90,11 +90,6 @@ interface JKKtInitDeclaration : JKDeclaration { var block: JKBlock } -interface JKKtOperatorExpression : JKExpression { - var receiver: JKExpression - var identifier: JKMethodSymbol - var argument: JKExpression -} interface JKKtConvertedFromForLoopSyntheticWhileStatement : JKStatement { var variableDeclaration: JKStatement 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 57253395dd7..c43b14a51de 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitor.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitor.kt @@ -118,7 +118,6 @@ interface JKVisitor { fun visitKtValueWhenLabel(ktValueWhenLabel: JKKtValueWhenLabel, data: D): R = visitKtWhenLabel(ktValueWhenLabel, data) fun visitKtIsExpression(ktIsExpression: JKKtIsExpression, data: D): R = visitExpression(ktIsExpression, data) fun visitKtInitDeclaration(ktInitDeclaration: JKKtInitDeclaration, data: D): R = visitDeclaration(ktInitDeclaration, data) - fun visitKtOperatorExpression(ktOperatorExpression: JKKtOperatorExpression, data: D): R = visitExpression(ktOperatorExpression, data) fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement, data: D): R = visitStatement(ktConvertedFromForLoopSyntheticWhileStatement, data) fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression, data: D): R = visitExpression(ktThrowExpression, data) fun visitKtTryExpression(ktTryExpression: JKKtTryExpression, data: D): R = visitExpression(ktTryExpression, 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 17b010cdedd..25605be5153 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/visitors/JKVisitorVoid.kt @@ -233,8 +233,6 @@ interface JKVisitorVoid : JKVisitor { override fun visitKtIsExpression(ktIsExpression: JKKtIsExpression, data: Nothing?) = visitKtIsExpression(ktIsExpression) fun visitKtInitDeclaration(ktInitDeclaration: JKKtInitDeclaration) = visitDeclaration(ktInitDeclaration, null) override fun visitKtInitDeclaration(ktInitDeclaration: JKKtInitDeclaration, data: Nothing?) = visitKtInitDeclaration(ktInitDeclaration) - fun visitKtOperatorExpression(ktOperatorExpression: JKKtOperatorExpression) = visitExpression(ktOperatorExpression, null) - override fun visitKtOperatorExpression(ktOperatorExpression: JKKtOperatorExpression, data: Nothing?) = visitKtOperatorExpression(ktOperatorExpression) fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement) = visitStatement(ktConvertedFromForLoopSyntheticWhileStatement, null) override fun visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement: JKKtConvertedFromForLoopSyntheticWhileStatement, data: Nothing?) = visitKtConvertedFromForLoopSyntheticWhileStatement(ktConvertedFromForLoopSyntheticWhileStatement) fun visitKtThrowExpression(ktThrowExpression: JKKtThrowExpression) = visitExpression(ktThrowExpression, null)