UniqueNameKind

case class UniqueNameKind(separator: String) extends NumberedNameKind

The kind of unique names that consist of an underlying name (can be empty), a separator indicating the class of unique name, and a unique number.

A unique names always constitutes a new name, different from its underlying name.

trait Product
trait Equals
class NameKind
class Object
trait Matchable
class Any

Type members

Inherited classlikes

class Info extends NameInfo

A simple info type; some subclasses of Kind define more refined versions

A simple info type; some subclasses of Kind define more refined versions

Inherited from:
NameKind
case class NumberedInfo(num: Int) extends Info with NumberedInfo
Inherited from:
NumberedNameKind

Inherited types

The info class defined by this kind

The info class defined by this kind

Inherited from:
NumberedNameKind

Value members

Concrete methods

override def definesNewName: Boolean

Does this kind define logically a new name (respectively qualified name)? Tested by the replace and collect combinators of class Name.

Does this kind define logically a new name (respectively qualified name)? Tested by the replace and collect combinators of class Name.

Definition Classes
def fresh(prefix: TermName)(using Context): TermName

Generate fresh unique term name of this kind with given prefix name

Generate fresh unique term name of this kind with given prefix name

def fresh(prefix: TypeName)(using Context): TypeName

Generate fresh unique type name of this kind with given prefix name

Generate fresh unique type name of this kind with given prefix name

def mkString(underlying: TermName, info: ThisInfo): String

Turn a name of this kind consisting of an underlying prefix and the given info into a string. Used to turn structured into simple name.

Turn a name of this kind consisting of an underlying prefix and the given info into a string. Used to turn structured into simple name.

Inherited methods

def apply(qual: TermName, num: Int): TermName
Inherited from:
NumberedNameKind
Inherited from:
Product
protected def skipSeparatorAndNum(name: SimpleName, separator: String): Int
Inherited from:
NumberedNameKind
Inherited from:
NumberedNameKind

Unmangle simple name name into a name of this kind, or return original name if this is not possible.

Unmangle simple name name into a name of this kind, or return original name if this is not possible.

Inherited from:
NameKind

Concrete fields

Inherited fields

A string used for displaying the structure of a name

A string used for displaying the structure of a name

Inherited from:
NumberedNameKind
val tag: Int
Inherited from:
NameKind