MultiFileClassFacade

Represents metadata of a class file containing a compiled multi-file class facade.

Multi-file class facade is a facade file produced from several Kotlin source files marked with JvmMultifileClass and same JvmName. It does not have any declarations; it only contains partClassNames to indicate where individual parts are located.

Consider the following example. Suppose we have two files, partOne.kt and partTwo.kt:

// partOne.kt
@file:JvmMultifileClass
@file:JvmName("MultiFileClass")

fun partOne(): String = "one"

// partTwo.kt
@file:JvmMultifileClass
@file:JvmName("MultiFileClass")

fun partTwo(): String = "two"

In this case, there would be three classfiles produced by the compiler, each with its own metadata. Metadata for MultiFileClass.class would be of type MultiFileClassFacade and contain partClassNames that would indicate class file names for the parts: [MultiFileClass__PartOneKt, MultiFileClass__PartTwoKt]. Using these names, you can load metadata from those classes with type MultiFileClassPart.

See also

Properties

Link copied to clipboard

JVM internal names of the part classes which this multi-file class combines.