New J2K: Fix array assignment.
This commit is contained in:
@@ -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()
|
||||
)
|
||||
|
||||
@@ -194,7 +194,7 @@ class JKJavaPolyadicExpressionImpl(operands: List<JKExpression>, override var to
|
||||
}
|
||||
|
||||
class JKJavaAssignmentExpressionImpl(
|
||||
override var field: JKFieldSymbol,
|
||||
override var field: JKAssignableExpression,
|
||||
expression: JKExpression,
|
||||
override var operator: JKOperator
|
||||
) : JKBranchElementBase(), JKJavaAssignmentExpression {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
interface JKAssignableExpression : JKExpression
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user