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.ChildRole
|
||||||
import com.intellij.psi.impl.source.tree.java.PsiLiteralExpressionImpl
|
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.PsiNewExpressionImpl
|
||||||
import com.intellij.psi.impl.source.tree.java.PsiReferenceExpressionImpl
|
|
||||||
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.impl.*
|
import org.jetbrains.kotlin.j2k.tree.impl.*
|
||||||
@@ -75,7 +74,7 @@ class JavaToJKTreeBuilder(var symbolProvider: JKSymbolProvider) {
|
|||||||
|
|
||||||
fun PsiAssignmentExpression.toJK(): JKJavaAssignmentExpression {
|
fun PsiAssignmentExpression.toJK(): JKJavaAssignmentExpression {
|
||||||
return JKJavaAssignmentExpressionImpl(
|
return JKJavaAssignmentExpressionImpl(
|
||||||
(lExpression.toJK() as? JKFieldAccessExpression ?: error("Its possible?")).identifier,
|
lExpression.toJK() as? JKAssignableExpression ?: error("Its possible?"),
|
||||||
rExpression.toJK(),
|
rExpression.toJK(),
|
||||||
operationSign.toJK()
|
operationSign.toJK()
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ class JKJavaPolyadicExpressionImpl(operands: List<JKExpression>, override var to
|
|||||||
}
|
}
|
||||||
|
|
||||||
class JKJavaAssignmentExpressionImpl(
|
class JKJavaAssignmentExpressionImpl(
|
||||||
override var field: JKFieldSymbol,
|
override var field: JKAssignableExpression,
|
||||||
expression: JKExpression,
|
expression: JKExpression,
|
||||||
override var operator: JKOperator
|
override var operator: JKOperator
|
||||||
) : JKBranchElementBase(), JKJavaAssignmentExpression {
|
) : JKBranchElementBase(), JKJavaAssignmentExpression {
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
package org.jetbrains.kotlin.j2k.tree
|
package org.jetbrains.kotlin.j2k.tree
|
||||||
|
|
||||||
import org.jetbrains.kotlin.j2k.tree.impl.JKClassSymbol
|
import org.jetbrains.kotlin.j2k.tree.impl.JKClassSymbol
|
||||||
import org.jetbrains.kotlin.j2k.tree.impl.JKFieldSymbol
|
|
||||||
import org.jetbrains.kotlin.j2k.tree.impl.JKMethodSymbol
|
import org.jetbrains.kotlin.j2k.tree.impl.JKMethodSymbol
|
||||||
|
|
||||||
interface JKJavaField : JKField, JKBranchElement
|
interface JKJavaField : JKField, JKBranchElement
|
||||||
@@ -85,7 +84,7 @@ interface JKJavaPolyadicExpression : JKExpression {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface JKJavaAssignmentExpression : JKExpression, JKBranchElement {
|
interface JKJavaAssignmentExpression : JKExpression, JKBranchElement {
|
||||||
var field: JKFieldSymbol
|
var field: JKAssignableExpression
|
||||||
var expression: JKExpression
|
var expression: JKExpression
|
||||||
var operator: JKOperator
|
var operator: JKOperator
|
||||||
}
|
}
|
||||||
@@ -135,7 +135,7 @@ interface JKMethodCallExpression : JKExpression {
|
|||||||
val arguments: JKExpressionList
|
val arguments: JKExpressionList
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKFieldAccessExpression : JKExpression {
|
interface JKFieldAccessExpression : JKAssignableExpression {
|
||||||
val identifier: JKFieldSymbol
|
val identifier: JKFieldSymbol
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,7 +143,7 @@ interface JKClassAccessExpression : JKExpression {
|
|||||||
val identifier: JKClassSymbol
|
val identifier: JKClassSymbol
|
||||||
}
|
}
|
||||||
|
|
||||||
interface JKArrayAccessExpression : JKExpression {
|
interface JKArrayAccessExpression : JKAssignableExpression {
|
||||||
val expression: JKExpression
|
val expression: JKExpression
|
||||||
val indexExpression: JKExpression
|
val indexExpression: JKExpression
|
||||||
}
|
}
|
||||||
@@ -226,4 +226,6 @@ interface JKIfElseExpression : JKExpression {
|
|||||||
var condition: JKExpression
|
var condition: JKExpression
|
||||||
var thenBranch: JKExpression
|
var thenBranch: JKExpression
|
||||||
var elseBranch: JKExpression
|
var elseBranch: JKExpression
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface JKAssignableExpression : JKExpression
|
||||||
@@ -16,8 +16,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.j2k.tree
|
package org.jetbrains.kotlin.j2k.tree
|
||||||
|
|
||||||
import org.jetbrains.kotlin.j2k.tree.impl.JKFieldSymbol
|
|
||||||
|
|
||||||
interface JKKtProperty : JKField {
|
interface JKKtProperty : JKField {
|
||||||
val getter: JKBlock
|
val getter: JKBlock
|
||||||
val setter: JKBlock
|
val setter: JKBlock
|
||||||
@@ -32,7 +30,7 @@ interface JKKtConstructor : JKDeclaration
|
|||||||
interface JKKtPrimaryConstructor : JKKtConstructor
|
interface JKKtPrimaryConstructor : JKKtConstructor
|
||||||
|
|
||||||
interface JKKtAssignmentStatement : JKStatement{
|
interface JKKtAssignmentStatement : JKStatement{
|
||||||
var field: JKFieldSymbol
|
var field: JKAssignableExpression
|
||||||
var expression: JKExpression
|
var expression: JKExpression
|
||||||
var operator: JKOperator
|
var operator: JKOperator
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user