Open
Description
reproduction steps
using Scala (2.13.3),
public interface BaseRootJava {
default boolean startInWriteAction() {
return true;
}
}
public interface BaseIntermidiateJava extends BaseRootJava {
String getText();
@Override
boolean startInWriteAction();
}
class ChildScala extends BaseIntermidiateJava {
override def getText: String = ""
}
object Main {
def main(args: Array[String]): Unit = {
val action = new ChildScala
println(action.startInWriteAction())
}
}
problem
This code compiles but throws an error at runtime:
Exception in thread "main" java.lang.AbstractMethodError: Method MyIntentionActionScala.startInWriteAction()Z is abstract
at MyIntentionActionScala.startInWriteAction(MyIntentionActionScala.scala)
at Main$.main(Main.scala:5)
at Main.main(Main.scala)
java analog will not compile
public class ChildJava implements BaseIntermidiateJava {
@Override
public String getText() { return null; }
}