UniqueNameKind

dotty.tools.dotc.core.NameKinds.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.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class NameKind
class Object
trait Matchable
class Any
Show all

Members list

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

Attributes

Inherited from:
NameKind
Supertypes
class NameInfo
class Object
trait Matchable
class Any
Known subtypes
class NumberedInfo
class QualInfo
class SignedInfo
case class NumberedInfo(num: Int) extends Info, NumberedInfo

Attributes

Inherited from:
NumberedNameKind
Supertypes
trait Serializable
trait Product
trait Equals
trait NumberedInfo
class Info
class NameInfo
class Object
trait Matchable
class Any
Show all

Inherited types

The info class defined by this kind

The info class defined by this kind

Attributes

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.

Attributes

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

Attributes

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

Attributes

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.

Attributes

Inherited methods

def apply(qual: TermName, num: Int): TermName

Attributes

Inherited from:
NumberedNameKind

Attributes

Inherited from:
NameKind

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product
protected def skipSeparatorAndNum(name: SimpleName, separator: String): Int

Attributes

Inherited from:
NumberedNameKind

Attributes

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.

Attributes

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

Attributes

Inherited from:
NumberedNameKind
val tag: Int

Attributes

Inherited from:
NameKind