TermName

dotty.tools.dotc.core.Names.TermName
abstract class TermName extends Name

Names for terms, can be simple or derived

Attributes

Graph
Supertypes
class Name
trait Showable
class Designator
class Object
trait Matchable
class Any
Show all
Known subtypes
class DerivedName
class SimpleName

Members list

Type members

Types

A type for names of the same kind as this name

A type for names of the same kind as this name

Attributes

Value members

Abstract methods

protected def computeToString: String

If this a qualified name, split it into underlying, last part, and separator Otherwise return an empty name, the name itself, and "")

If this a qualified name, split it into underlying, last part, and separator Otherwise return an empty name, the name itself, and "")

Attributes

Concrete methods

override def asTermName: TermName

This name downcasted to a term name

This name downcasted to a term name

Attributes

Definition Classes
override def asTypeName: Nothing

This name downcasted to a type name

This name downcasted to a type name

Attributes

Definition Classes
override def derived(info: NameInfo): TermName

A derived name consisting of this name and the added info, unless it is already present in this name.

A derived name consisting of this name and the added info, unless it is already present in this name.

Attributes

Definition Classes
override def exclude(kind: NameKind): TermName

This name without any info of the given kind. Excepted, as always, is the underlying name part of a qualified name.

This name without any info of the given kind. Excepted, as always, is the underlying name part of a qualified name.

Attributes

Definition Classes
def info: NameInfo
override def is(kind: NameKind): Boolean

Does this name contain an info of the given kind? Excepted, as always, is the underlying name part of a qualified name.

Does this name contain an info of the given kind? Excepted, as always, is the underlying name part of a qualified name.

Attributes

Definition Classes
override def isTermName: Boolean

Is this name a term name?

Is this name a term name?

Attributes

Definition Classes
override def isTypeName: Boolean

Is this name a type name?

Is this name a type name?

Attributes

Definition Classes
override def likeSpaced(name: Name): TermName

A name in the same (term or type) namespace as this name and with same characters as given name.

A name in the same (term or type) namespace as this name and with same characters as given name.

Attributes

Definition Classes
final def mangled: ThisName

This name converted to a simple term name and in addition with all symbolic operator characters expanded.

This name converted to a simple term name and in addition with all symbolic operator characters expanded.

Attributes

final def mangledString: String

Convert to string after mangling

Convert to string after mangling

Attributes

Convert to string as follows. If this is a qualified name <first> <sep> <last>, the sanitized version of f1(<first>) <sep> f2(<last>). Otherwise f2 applied to this name.

Convert to string as follows. If this is a qualified name <first> <sep> <last>, the sanitized version of f1(<first>) <sep> f2(<last>). Otherwise f2 applied to this name.

Attributes

override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
override def toTermName: TermName

This name converted to a term name

This name converted to a term name

Attributes

Definition Classes
override def toTypeName: TypeName

This name converted to a type name

This name converted to a type name

Attributes

Definition Classes

Inherited methods

def ++(other: String): ThisName

Attributes

Inherited from:
Name
def ++(other: Name): ThisName

Append other to the last part of this name

Append other to the last part of this name

Attributes

Inherited from:
Name

This name downcasted to a simple term name

This name downcasted to a simple term name

Attributes

Inherited from:
Name
def collect[T](f: PartialFunction[Name, T]): Option[T]

If partial function f is defined for some part of this name, apply it in a Some, otherwise None. Stops at derived names whose kind has definesNewName = true.

If partial function f is defined for some part of this name, apply it in a Some, otherwise None. Stops at derived names whose kind has definesNewName = true.

Attributes

Inherited from:
Name

A string showing the internal structure of this name. By contrast, toString shows the name after conversion to a simple name.

A string showing the internal structure of this name. By contrast, toString shows the name after conversion to a simple name.

Attributes

Inherited from:
Name

Replace operator expansions by corresponding operator symbols.

Replace operator expansions by corresponding operator symbols.

Attributes

Inherited from:
Name

A derived name consisting of this name and the info of kind

A derived name consisting of this name and the info of kind

Attributes

Inherited from:
Name

Replace operator symbols by corresponding operator expansions

Replace operator symbols by corresponding operator expansions

Attributes

Inherited from:
Name
def endsWith(suffix: SimpleName): Boolean

Attributes

Inherited from:
Name
def endsWith(suffix: String): Boolean

Does (the last part of) this name end with str?

Does (the last part of) this name end with str?

Attributes

Inherited from:
Name
override def equals(that: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Name -> Any
Inherited from:
Name
def fallbackToText(printer: Printer): Text

A fallback text representation, if the pattern matching in Printers does not have a case for this showable element

A fallback text representation, if the pattern matching in Printers does not have a case for this showable element

Attributes

Inherited from:
Showable

The first part of this (possible qualified) name

The first part of this (possible qualified) name

Attributes

Inherited from:
Name
override def hashCode: Int

Calculate a hash code value for the object.

Calculate a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Attributes

Returns

the hash code value for this object.

Definition Classes
Name -> Any
Inherited from:
Name

Is this name empty?

Is this name empty?

Attributes

Inherited from:
Name

The last part of this (possible qualified) name

The last part of this (possible qualified) name

Attributes

Inherited from:
Name

Apply f to last simple term name making up this name

Apply f to last simple term name making up this name

Attributes

Inherited from:
Name

Apply f to all simple term names making up this name

Apply f to all simple term names making up this name

Attributes

Inherited from:
Name
def replace(from: Char, to: Char): ThisName

Replace all occurrences of from to to in this name

Replace all occurrences of from to to in this name

Attributes

Inherited from:
Name

Apply rewrite rule given by f to some part of this name, skipping and rewrapping other decorators. Stops at DerivedNames with infos of kind QualifiedInfo. If f does not apply to any part, return name unchanged.

Apply rewrite rule given by f to some part of this name, skipping and rewrapping other decorators. Stops at DerivedNames with infos of kind QualifiedInfo. If f does not apply to any part, return name unchanged.

Attributes

Inherited from:
Name

Same as replace, but does not stop at DerivedNames with infos of kind QualifiedInfo.

Same as replace, but does not stop at DerivedNames with infos of kind QualifiedInfo.

Attributes

Inherited from:
Name
def show(using Context): String

The string representation of this showable element.

The string representation of this showable element.

Attributes

Inherited from:
Showable
def showIndented(margin: Int)(using Context): String

The string representation with each line after the first one indented by the given given margin (in spaces).

The string representation with each line after the first one indented by the given given margin (in spaces).

Attributes

Inherited from:
Showable
def showSummary(depth: Int)(using Context): String

The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.

The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.

Attributes

Inherited from:
Showable
def startsWith(str: String, start: Int): Boolean

Does (the first part of) this name starting at index start starts with str?

Does (the first part of) this name starting at index start starts with str?

Attributes

Inherited from:
Name

This name converted to a simple term name

This name converted to a simple term name

Attributes

Inherited from:
Name
def toText(printer: Printer): Text

Convert name to text via printer.

Convert name to text via printer.

Attributes

Inherited from:
Name