abstract class Name
extends DotClass with PreName with Seq with IndexedSeqOptimized

A name is essentially a string, with three differences 1. Names belong in one of two name spaces: they are type names or term names. Term names have a sub-category of "local" field names. The same string can correspond a name in each of the three namespaces. 2. Names are hash-consed. Two names representing the same string in the same universe are always reference identical. 3. Names are intended to be encoded strings. @see dotc.util.NameTransformer. The encoding will be applied when converting a string to a name.

Constructors

Name ( )

Members

type ThisName = Nothing <: Name

A type for names of the same kind as this name

A type for names of the same kind as this name

override val length : Int

The length of the names

The length of the names

val start : Int

The start index in the character array

The start index in the character array

def ++ ( other: Name ) : ThisName

A more efficient version of concatenation

A more efficient version of concatenation

def ++ ( other: String ) : ThisName
override def apply ( index: Int ) : Char
def asTermName : TermName

This name downcasted to a term name

This name downcasted to a term name

def asTypeName : TypeName

This name downcasted to a type name

This name downcasted to a type name

def contains ( ch: Char ) : Boolean
[+] final def copyUTF8 ( bs: Array [ Byte ] , offset: Int ) : Int

Write to UTF8 representation of this name to given character array. Start copying to index to. Return index of next free byte in array. Array must have...

Write to UTF8 representation of this name to given character array. Start copying to index to. Return index of next free byte in array. Array must have enough remaining space for all bytes (i.e. maximally 3*length bytes).

def decode : Name

Replace $op_name's by corresponding operator symbols.

Replace $op_name's by corresponding operator symbols.

def encode : Name

Replace operator symbols by corresponding $op_name's.

Replace operator symbols by corresponding $op_name's.

override def equals ( that: Any ) : Boolean
def firstChar : Char
def fromChars ( cs: Array [ Char ] , offset: Int , len: Int ) : ThisName

Create a new name of same kind as this one, in the given basis, with len characters taken from cs starting at offset.

Create a new name of same kind as this one, in the given basis, with len characters taken from cs starting at offset.

def fromName ( name: Name ) : ThisName

Create new name of same kind as this name and with same characters as given name.

Create new name of same kind as this name and with same characters as given name.

def fromString ( str: String ) : ThisName

Create new name of same kind as this name with characters from the given string

Create new name of same kind as this name with characters from the given string

def isTermName : Boolean

Is this name a term name?

Is this name a term name?

def isTypeName : Boolean

Is this name a type name?

Is this name a type name?

protected override def newBuilder : Builder [ Char, Name ]
def replace ( from: Char , to: Char ) : ThisName
override def seq : IndexedSeq [ A ] & Seq [ A ]
override def slice ( from: Int , until: Int ) : ThisName
protected override def thisCollection : WrappedString
protected override def toCollection ( repr: Name ) : WrappedString
override def toString : String
def toTermName : TermName

This name converted to a term name

This name converted to a term name

def toText ( printer: Printer ) : Text

The text representation of this showable element. This normally dispatches to a pattern matching method in Printers.

The text representation of this showable element. This normally dispatches to a pattern matching method in Printers.

def toTypeName : TypeName

This name converted to a type name

This name converted to a type name