Symbol

Types

Link copied to clipboard
abstract class Annotation<S : Symbol.Annotation<S, I>, I : Symbol.Annotation.Instance<S, I>>(val packageName: NameSegments, val classNames: NameSegments) : Symbol.ClassLike

A full representation of an annotation, as opposed to Classifier which just represents the type. Includes all parameters and the ability to constructor Instances for a given set of arguments.

Link copied to clipboard
data class Classifier(val packageName: NameSegments, val classNames: NameSegments) : Symbol.ClassLike, Symbol.TypeParamHost

A class, interface, object, etc. Annotations may either be exported as a classifier (if @ExportSymbol is used) or as an Annotation (if @ExportAnnotation is used).

Link copied to clipboard
sealed interface ClassLike : Symbol, Symbol.NamedSymbol

A Classifier or Annotation. May include type aliases someday.

Link copied to clipboard
data class Constructor(val classifier: Symbol.Classifier) : Symbol.Member

A constructor of a Classifier.

Link copied to clipboard
data class ContextParameter(val owner: Symbol.Member, val index: Int, val indexInContextParameters: Int, val name: String) : Symbol.Parameter

A context parameter of a Member.

Link copied to clipboard
data class DispatchReceiverParameter(val owner: Symbol.Member, val index: Int, val name: String) : Symbol.Parameter

The dispatch receiver parameter of a Member.

Link copied to clipboard
data class EnumEntry(val enumClass: Symbol.Classifier, val entryName: String, val entryOrdinal: Int) : Symbol, Symbol.NamedSymbol

An enum entry.

Link copied to clipboard
data class ExtensionReceiverParameter(val owner: Symbol.Member, val index: Int, val name: String) : Symbol.Parameter

The extension receiver parameter of a Member.

Link copied to clipboard
sealed interface Member : Symbol, Symbol.TypeParamHost

A member. Either of a Classifier or as a top-level symbol.

Link copied to clipboard
data class NamedClassifierMember(val classifier: Symbol.Classifier, val name: String) : Symbol.NamedMember

A named Member of a Classifier.

Link copied to clipboard

A member with a meaningful name.

Link copied to clipboard
sealed interface NamedSymbol : Symbol

A symbol with a meaningful simple name. This is most symbols except Constructor.

Link copied to clipboard

A parameter of a Member.

Link copied to clipboard
data class TopLevelMember(val packageName: NameSegments, val name: String) : Symbol.NamedMember

A top-level member.

Link copied to clipboard
data class TypeParameter(val owner: Symbol.TypeParamHost, val index: Int, val name: String) : Symbol, Symbol.NamedSymbol

A type parameter.

Link copied to clipboard
sealed interface TypeParamHost : Symbol

A symbol that can have type parameters.

Link copied to clipboard
data class ValueParameter(val owner: Symbol.Member, val index: Int, val indexInValueParameters: Int, val name: String) : Symbol.Parameter

A value parameter of a Member.

Properties

Link copied to clipboard
abstract val fullName: NameSegments

The fully qualified name of the symbol.

Link copied to clipboard
open override val nameSegments: List<String>

The segments of the fully qualified name of this symbol.

Functions

Link copied to clipboard
open override fun asString(): String

The fully qualified name as a string.

Link copied to clipboard
open operator fun plus(segment: String): NameSegments

Resolves segment after this.

open operator override fun plus(other: NameSegments): NameSegments

Resolves other after this.

Link copied to clipboard
open fun resolve(vararg segments: String): NameSegments

Resolves segments after this.