Missing of default methods from Java 8

Dmitry Jemerov at his talk says, that Kotlin will use all java 8 features, if jvmTarget is choosen to 1.8. But I don’t see this in decompiled class

I’m trying to compile kotlin source code by gradle with java 8 target.

In gradle I add this lines:

compileKotlin {
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8

    kotlinOptions {
        jvmTarget = "1.8"
        apiVersion = "1.1"
        languageVersion = "1.1"
    }
}

This source:

interface I {
    fun foo123(): Int {
        return 42
    }
}

compiled to:

public interface I {
   int foo123();

   public static final class DefaultImpls {
      public static int foo123(I $this) {
         return 42;
      }
   }
}

and there is no any default methods from java 8.

So the question is, is it normal? Or I just forget to do something?

Update: found issue in youtrack.

1 Like