NameKinds

dotty.tools.dotc.core.NameKinds
object NameKinds

Defines possible kinds of NameInfo of a derived name

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
NameKinds.type

Members list

Type members

Classlikes

An extractor for numbered names of arbitrary kind

An extractor for numbered names of arbitrary kind

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

An extractor for qualified names of an arbitrary kind

An extractor for qualified names of an arbitrary kind

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object AnyUniqueName

An extractor for unique names of arbitrary kind

An extractor for unique names of arbitrary kind

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
enum AvoidNameKind(tag: Int, prefix: String) extends PrefixNameKind

See ConstraintHandling#LevelAvoidMap.

See ConstraintHandling#LevelAvoidMap.

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class NameKind
class Object
trait Matchable
class Any
Show all
abstract class ClassifiedNameKind(tag: Int, val infoString: String) extends NameKind

The kind of names that add a simple classification to an underlying name.

The kind of names that add a simple classification to an underlying name.

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
Known subtypes
abstract class NameInfo

A class for the info stored in a derived name

A class for the info stored in a derived name

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Info
class NumberedInfo
class QualInfo
class SignedInfo
trait NumberedInfo
Show all
abstract class NameKind(val tag: Int)

An abstract base class of classes that define the kind of a derived name info

An abstract base class of classes that define the kind of a derived name info

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
trait NumberedInfo extends NameInfo

A base trait for infos that contain a number

A base trait for infos that contain a number

Attributes

Supertypes
class NameInfo
class Object
trait Matchable
class Any
Known subtypes
class NumberedInfo
abstract class NumberedNameKind(tag: Int, val infoString: String) extends NameKind

The kind of numbered names consisting of an underlying name and a number

The kind of numbered names consisting of an underlying name and a number

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
Known subtypes
Self type
class PrefixNameKind(tag: Int, prefix: String, optInfoString: String) extends ClassifiedNameKind

The kind of names that get formed by adding a prefix to an underlying name

The kind of names that get formed by adding a prefix to an underlying name

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
Known subtypes
trait QualifiedInfo extends NameInfo

A base trait for infos that define an additional selector name

A base trait for infos that define an additional selector name

Attributes

Supertypes
class NameInfo
class Object
trait Matchable
class Any
Known subtypes
class QualInfo
class QualifiedNameKind(tag: Int, val separator: String) extends NameKind

The kind of qualified names, consisting of an underlying name as a prefix, followed by a separator, followed by a simple selector name.

The kind of qualified names, consisting of an underlying name as a prefix, followed by a separator, followed by a simple selector name.

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

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
object SignedName extends NameKind

A name together with a signature. Used in Tasty trees.

A name together with a signature. Used in Tasty trees.

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
Self type
SignedName.type
object SimpleNameKind extends NameKind

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
Self type
class SuffixNameKind(tag: Int, suffix: String, optInfoString: String) extends ClassifiedNameKind

The kind of names that get formed by appending a suffix to an underlying name

The kind of names that get formed by appending a suffix to an underlying name

Attributes

Supertypes
class NameKind
class Object
trait Matchable
class Any
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.

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

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

Value members

Concrete fields

Other unique names

Other unique names

Attributes

The name of the term parameter generated for a context bound:

The name of the term parameter generated for a context bound:

def foo[T: A](...): ...

becomes:

def foo[T](...)(using evidence$1: A[T]): ...

The "evidence$" prefix is a convention copied from Scala 2.

Attributes

The name of an inferred contextual function parameter:

The name of an inferred contextual function parameter:

val x: A ?=> B = b

becomes:

val x: A ?=> B = (contextual$1: A) ?=> b

Attributes

The kind of names of default argument getters

The kind of names of default argument getters

Attributes

Names of the form prefix $ name that are prefixes of expanded names

Names of the form prefix $ name that are prefixes of expanded names

Attributes

Expanded names of the form prefix $$ name.

Expanded names of the form prefix $$ name.

Attributes

Names of the form prefix $ name that are constructed as a result of flattening

Names of the form prefix $ name that are constructed as a result of flattening

Attributes

Names of the form N_ . Emitted by inliner, replaced by outer path in ExplicitOuter.

Names of the form N_ . Emitted by inliner, replaced by outer path in ExplicitOuter.

Attributes

Kinds of unique names generated by the pattern matcher

Kinds of unique names generated by the pattern matcher

Attributes

Names of the form prefix . name

Names of the form prefix . name

Attributes

Possible name kinds of a method that comes from Scala2 pickling info. and that need to be unmangled. Note: Scala2 protected accessors and setters can be left mangled, so they are not included in thus list.

Possible name kinds of a method that comes from Scala2 pickling info. and that need to be unmangled. Note: Scala2 protected accessors and setters can be left mangled, so they are not included in thus list.

Attributes

Expanded names of the form prefix $_setter_$ name. These only occur in Scala2.

Expanded names of the form prefix $_setter_$ name. These only occur in Scala2.

Attributes

A kind of unique extension methods; Unlike other unique names, these can be unmangled.

A kind of unique extension methods; Unlike other unique names, these can be unmangled.

Attributes

Unique names of the form prefix $ n or $ n $

Unique names of the form prefix $ n or $ n $

Attributes