super expression added

This commit is contained in:
Sergey Ignatov
2011-11-07 17:14:36 +04:00
parent 4bab2ba877
commit 15cad77cd0
6 changed files with 43 additions and 0 deletions
@@ -0,0 +1,20 @@
package org.jetbrains.jet.j2k.ast;
import org.jetbrains.annotations.NotNull;
/**
* @author ignatov
*/
public class SuperExpression extends Expression {
private Type myType;
public SuperExpression(Type type) {
myType = type;
}
@NotNull
@Override
public String toKotlin() {
return "super" + "<" + myType.toKotlin() + ">";
}
}
@@ -236,6 +236,7 @@ public class ExpressionVisitor extends StatementVisitor implements Visitor {
@Override
public void visitSuperExpression(PsiSuperExpression expression) {
super.visitSuperExpression(expression);
myResult = new SuperExpression(typeToNotNullableType(expression.getType()));
}
@Override
@@ -0,0 +1,11 @@
class B {
void call() {}
}
class A extends B {
A() {
super();
}
void call() { return super.call(); }
}
@@ -0,0 +1,9 @@
open class B {
fun call() : Unit {
}
}
open class A : B {
override fun call() : Unit {
return super<B>.call()
}
}
@@ -0,0 +1 @@
super.call();
@@ -0,0 +1 @@
super<Any>.call()