From 795bfa4b2f71f098e3e25ef5cbaae592a22c65e5 Mon Sep 17 00:00:00 2001 From: Dimach Date: Fri, 29 Jun 2018 15:11:56 +0300 Subject: [PATCH] New J2K: Fix array assignment. --- .../org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt | 3 +-- j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt | 2 +- j2k/newSrc/org/jetbrains/kotlin/j2k/tree/j.kt | 3 +-- j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt | 8 +++++--- j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt | 4 +--- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt index c559bccd65b..950a81edff4 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/JavaToJKTreeBuilder.kt @@ -21,7 +21,6 @@ import com.intellij.psi.* import com.intellij.psi.impl.source.tree.ChildRole import com.intellij.psi.impl.source.tree.java.PsiLiteralExpressionImpl import com.intellij.psi.impl.source.tree.java.PsiNewExpressionImpl -import com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl import org.jetbrains.kotlin.j2k.tree.* import org.jetbrains.kotlin.j2k.tree.JKLiteralExpression.LiteralType.* import org.jetbrains.kotlin.j2k.tree.impl.* @@ -75,7 +74,7 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) { fun PsiAssignmentExpression.toJK(): JKJavaAssignmentExpression { return JKJavaAssignmentExpressionImpl( - (lExpression.toJK() as? JKFieldAccessExpression ?: error("Its possible?")).identifier, + lExpression.toJK() as? JKAssignableExpression ?: error("Its possible?"), rExpression.toJK(), operationSign.toJK() ) 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 80b0264f169..898bc828980 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/impl/j.kt @@ -194,7 +194,7 @@ class JKJavaPolyadicExpressionImpl(operands: List, override var to } class JKJavaAssignmentExpressionImpl( - override var field: JKFieldSymbol, + override var field: JKAssignableExpression, expression: JKExpression, override var operator: JKOperator ) : JKBranchElementBase(), JKJavaAssignmentExpression { diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/j.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/j.kt index dba02dfcbd6..d451b92661c 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/j.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/j.kt @@ -17,7 +17,6 @@ package org.jetbrains.kotlin.j2k.tree import org.jetbrains.kotlin.j2k.tree.impl.JKClassSymbol -import org.jetbrains.kotlin.j2k.tree.impl.JKFieldSymbol import org.jetbrains.kotlin.j2k.tree.impl.JKMethodSymbol interface JKJavaField : JKField, JKBranchElement @@ -85,7 +84,7 @@ interface JKJavaPolyadicExpression : JKExpression { } interface JKJavaAssignmentExpression : JKExpression, JKBranchElement { - var field: JKFieldSymbol + var field: JKAssignableExpression var expression: JKExpression var operator: JKOperator } \ No newline at end of file diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt index 8acf92b36af..2e7dfc4bb27 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/jk.kt @@ -135,7 +135,7 @@ interface JKMethodCallExpression : JKExpression { val arguments: JKExpressionList } -interface JKFieldAccessExpression : JKExpression { +interface JKFieldAccessExpression : JKAssignableExpression { val identifier: JKFieldSymbol } @@ -143,7 +143,7 @@ interface JKClassAccessExpression : JKExpression { val identifier: JKClassSymbol } -interface JKArrayAccessExpression : JKExpression { +interface JKArrayAccessExpression : JKAssignableExpression { val expression: JKExpression val indexExpression: JKExpression } @@ -226,4 +226,6 @@ interface JKIfElseExpression : JKExpression { var condition: JKExpression var thenBranch: JKExpression var elseBranch: JKExpression -} \ No newline at end of file +} + +interface JKAssignableExpression : JKExpression \ No newline at end of file diff --git a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt index 1d490bea4b8..5c2e12daf3e 100644 --- a/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt +++ b/j2k/newSrc/org/jetbrains/kotlin/j2k/tree/k.kt @@ -16,8 +16,6 @@ package org.jetbrains.kotlin.j2k.tree -import org.jetbrains.kotlin.j2k.tree.impl.JKFieldSymbol - interface JKKtProperty : JKField { val getter: JKBlock val setter: JKBlock @@ -32,7 +30,7 @@ interface JKKtConstructor : JKDeclaration interface JKKtPrimaryConstructor : JKKtConstructor interface JKKtAssignmentStatement : JKStatement{ - var field: JKFieldSymbol + var field: JKAssignableExpression var expression: JKExpression var operator: JKOperator }