super expression added
This commit is contained in:
@@ -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
|
@Override
|
||||||
public void visitSuperExpression(PsiSuperExpression expression) {
|
public void visitSuperExpression(PsiSuperExpression expression) {
|
||||||
super.visitSuperExpression(expression);
|
super.visitSuperExpression(expression);
|
||||||
|
myResult = new SuperExpression(typeToNotNullableType(expression.getType()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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()
|
||||||
Reference in New Issue
Block a user