I believe the easiest way to answer you question is to make simple project in Kotlin, than got to Tools - Kotlin - Show Kotlin bytecode in IntelliJ Idea and than Decompile on the opened page - and you will see on what exactly Kotlin code translated.
For example you have Kotlin code:
fun main(args: Array<String>) {
    Test.test()
}
class Test {
    companion object TestCompanion{
        fun test() {
            println("TestCompanion")
        }
    }
}
Decompiled result: 
public final class MainKt {
   public static final void main(@NotNull String[] args) {
      Test.TestCompanion.test();
   }
}
public final class Test {
   public static final Test.TestCompanion TestCompanion = new Test.TestCompanion();
   public static final class TestCompanion {
      public final void test() {
         System.out.println("TestCompanion");
      }
   }
}