AnyType.class expression supported

This commit is contained in:
Sergey Ignatov
2011-11-15 16:40:06 +04:00
parent a80f0eecd4
commit 9782fc700f
8 changed files with 27 additions and 0 deletions
@@ -0,0 +1,20 @@
package org.jetbrains.jet.j2k.ast;
import org.jetbrains.annotations.NotNull;
/**
* @author ignatov
*/
public class ClassObjectAccessExpression extends Expression {
private Element myTypeElement;
public ClassObjectAccessExpression(Element typeElement) {
myTypeElement = typeElement;
}
@NotNull
@Override
public String toKotlin() {
return "getJavaClass" + "<" + myTypeElement.toKotlin() + ">";
}
}
@@ -123,6 +123,7 @@ public class ExpressionVisitor extends StatementVisitor {
@Override
public void visitClassObjectAccessExpression(PsiClassObjectAccessExpression expression) {
super.visitClassObjectAccessExpression(expression);
myResult = new ClassObjectAccessExpression(elementToElement(expression.getOperand()));
}
@Override
@@ -0,0 +1 @@
Object.class
@@ -0,0 +1 @@
getJavaClass<Any?>
@@ -0,0 +1 @@
String.class
@@ -0,0 +1 @@
getJavaClass<String?>
@@ -0,0 +1 @@
Class<?>[] constrArgTypes = new Class<?>[]{String[].class, String.class};
@@ -0,0 +1 @@
var constrArgTypes : Array<Class<*>?>? = array(getJavaClass<Array<String?>?>, getJavaClass<String?>)