diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/ClassObjectAccessExpression.java b/j2k/src/org/jetbrains/jet/j2k/ast/ClassObjectAccessExpression.java index 79cb0be6400..22aa3d22ff5 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/ClassObjectAccessExpression.java +++ b/j2k/src/org/jetbrains/jet/j2k/ast/ClassObjectAccessExpression.java @@ -28,6 +28,6 @@ public class ClassObjectAccessExpression extends Expression { @NotNull @Override public String toKotlin() { - return "getJavaClass" + "<" + myTypeElement.toKotlin() + ">"; + return "javaClass" + "<" + myTypeElement.toKotlin() + ">()"; } } diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/TypeElement.java b/j2k/src/org/jetbrains/jet/j2k/ast/TypeElement.java index 16416bbe631..dc6c7bb2d2f 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/TypeElement.java +++ b/j2k/src/org/jetbrains/jet/j2k/ast/TypeElement.java @@ -25,6 +25,10 @@ public class TypeElement extends Element { myType = type; } + public Type getMyType() { + return myType; + } + @NotNull @Override public String toKotlin() { diff --git a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java index 633d1ca8ef5..a3674f074b2 100644 --- a/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java +++ b/j2k/src/org/jetbrains/jet/j2k/visitors/ExpressionVisitor.java @@ -159,7 +159,11 @@ public class ExpressionVisitor extends StatementVisitor { @Override public void visitClassObjectAccessExpression(@NotNull PsiClassObjectAccessExpression expression) { super.visitClassObjectAccessExpression(expression); - myResult = new ClassObjectAccessExpression(getConverter().elementToElement(expression.getOperand())); + + + TypeElement typeElement = (TypeElement) getConverter().elementToElement(expression.getOperand()); + typeElement.getMyType().convertedToNotNull(); + myResult = new ClassObjectAccessExpression(typeElement); } @Override diff --git a/j2k/tests/testData/ast/classExpression/expression/objectClass.kt b/j2k/tests/testData/ast/classExpression/expression/objectClass.kt index 4674988b0c1..a23b22175d5 100644 --- a/j2k/tests/testData/ast/classExpression/expression/objectClass.kt +++ b/j2k/tests/testData/ast/classExpression/expression/objectClass.kt @@ -1 +1 @@ -getJavaClass \ No newline at end of file +javaClass() \ No newline at end of file diff --git a/j2k/tests/testData/ast/classExpression/expression/stringClass.kt b/j2k/tests/testData/ast/classExpression/expression/stringClass.kt index 894282ca52d..49f7ad88685 100644 --- a/j2k/tests/testData/ast/classExpression/expression/stringClass.kt +++ b/j2k/tests/testData/ast/classExpression/expression/stringClass.kt @@ -1 +1 @@ -getJavaClass \ No newline at end of file +javaClass() \ No newline at end of file diff --git a/j2k/tests/testData/ast/classExpression/statement/complexExample.kt b/j2k/tests/testData/ast/classExpression/statement/complexExample.kt index d05f082bcc6..40638ad4462 100644 --- a/j2k/tests/testData/ast/classExpression/statement/complexExample.kt +++ b/j2k/tests/testData/ast/classExpression/statement/complexExample.kt @@ -1 +1 @@ -var constrArgTypes : Array?>? = array?>(getJavaClass?>, getJavaClass) \ No newline at end of file +var constrArgTypes : Array?>? = array?>(javaClass>(), javaClass()) \ No newline at end of file