Skip to content

MultifileClass

Represents a multi-file class facade.

See also

Properties

facadeFqName

abstract val facadeFqName: FqName

The file facade class as FqName.

Example

foo.kt:

package com.example

fun baz() {}

Results to com.example.FooKt.

foo.kt:

@file:JvmName("Doo")
package com.example

fun baz() {}

Results to com.example.Doo.

foo.kt:

@file:JvmName("Doo")
@file:JvmPackageName("another.pack")
package com.example

fun baz() {}

Results to another.pack.Doo.

facadePartSimpleNames

A simple names list of all the parts that are associated with a multi-file class facade. Simple names represent the unqualified names of each facade part.

Example

MultifileClass.kt:

@file:[JvmName("MultifileClass") JvmMultifileClass]
package test

fun p1Fun() {}

SecondPart.kt:

@file:[JvmName("MultifileClass") JvmMultifileClass]
package test

fun p2Fun() {}

facadeFqName is test.MultifileClassKt, facadePartSimpleNames is ["MultifileClass__MultifileClassKt", "MultifileClass__SecondPartKt"].

packageFqName

abstract val packageFqName: FqName

The file package as FqName.

FqName.ROOT is used if the file has no explicit package.