Fix conversion of Java class literals

This commit is contained in:
Alexey Sedunov
2013-10-18 14:47:29 +04:00
parent d71302ec61
commit 054588bd3b
6 changed files with 13 additions and 5 deletions
@@ -28,6 +28,6 @@ public class ClassObjectAccessExpression extends Expression {
@NotNull
@Override
public String toKotlin() {
return "getJavaClass" + "<" + myTypeElement.toKotlin() + ">";
return "javaClass" + "<" + myTypeElement.toKotlin() + ">()";
}
}
@@ -25,6 +25,10 @@ public class TypeElement extends Element {
myType = type;
}
public Type getMyType() {
return myType;
}
@NotNull
@Override
public String toKotlin() {
@@ -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
@@ -1 +1 @@
getJavaClass<Any?>
javaClass<Any>()
@@ -1 +1 @@
getJavaClass<String?>
javaClass<String>()
@@ -1 +1 @@
var constrArgTypes : Array<Class<*>?>? = array<Class<*>?>(getJavaClass<Array<String?>?>, getJavaClass<String?>)
var constrArgTypes : Array<Class<*>?>? = array<Class<*>?>(javaClass<Array<String?>>(), javaClass<String>())