ClassReference

Used to create a common type between KtClassOrObject class references and ClassDescriptor references, to streamline parsing.

See also

Inheritors

Types

Link copied to clipboard
class Descriptor(val clazz: ClassDescriptor, val classId: ClassId, val module: AnvilModuleDescriptor) : ClassReference
Link copied to clipboard
class Psi(val clazz: KtClassOrObject, val classId: ClassId, val module: AnvilModuleDescriptor) : ClassReference

Properties

Link copied to clipboard
Link copied to clipboard
abstract val classId: ClassId
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract val fqName: FqName
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val packageFqName: FqName
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard

This will return all super types as ClassReference, whether they're parsed as KtClassOrObject or ClassDescriptor. This will include generated code, assuming it has already been generated. The returned sequence will be distinct by FqName, and Psi types are preferred over Descriptors.

Link copied to clipboard
fun ClassReference.asClassName(): ClassName
Link copied to clipboard
fun ClassReference.asTypeName(): TypeName
Link copied to clipboard
Link copied to clipboard
open operator override fun compareTo(other: ClassReference): Int
Link copied to clipboard

Returns only the super types (excluding Any) and implemented interfaces declared directly by this class.

Link copied to clipboard
Link copied to clipboard

Returns all outer classes including this class. Imagine the inner class Outer.Middle.Inner, then the returned list would contain [Outer, Middle, Inner] in that order.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
fun ClassReference.generateClassName(separator: String = "_", suffix: String = ""): ClassId
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
Link copied to clipboard
abstract fun isAbstract(): Boolean
Link copied to clipboard
open fun isAnnotatedWith(fqName: FqName): Boolean
Link copied to clipboard
abstract fun isAnnotationClass(): Boolean
Link copied to clipboard
abstract fun isCompanion(): Boolean
Link copied to clipboard
abstract fun isGenericClass(): Boolean
Link copied to clipboard
abstract fun isInterface(): Boolean
Link copied to clipboard
abstract fun isObject(): Boolean
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
abstract fun visibility(): Visibility