Spec-Zone.ru › Scala 2.13 Reflection

Трейт scala.reflect.macros.Names

Трейт Names extends AnyRef

ЭКСПЕРИМЕНТАЛЬНО

Срезок контекста макросов Scala, предоставляющий функции генерации новых уникальных имён.

В текущей реализации новые имена уникальны в рамках одного процесса компиляции, т.е. гарантируется отсутствие конфликтов с: 1) Результатами предыдущих и будущих вызовов функций семейства freshName; 2) Именами, определёнными пользователем или сгенерированными макросами, не содержащими символы доллара; 3) Именами, сгенерированными макросом путём конкатенации имён из первых двух категорий.

Уникальность сгенерированных имён между разными запусками компиляции не гарантируется, но мы планируем улучшить эту ситуацию в будущих версиях. Подробности см. в https://github.com/scala/bug/issues/6879.

Self Type
blackbox.Context
Source
Names.scala
Линейные надтипы
AnyRef, Any
Известные подклассы
Context, Context

Абстрактные члены-значения

абстрактный def freshName[NameType <: blackbox.Context.Name](name: NameType): NameType

Создаёт уникальное имя, имеющее заданное имя в качестве префикса и тот же тип (имя переменной или имя типа), что и исходное имя. Подробности об уникальности см. в scala.reflect.macros.Names.

абстрактный def freshName(name: String): String

Создаёт строку, представляющую уникальное имя с заданным префиксом. Подробности об уникальности см. в scala.reflect.macros.Names.

абстрактный def freshName(): String

Создаёт строку, представляющую уникальное имя. Подробности об уникальности см. в scala.reflect.macros.Names.

абстрактный def fresh[NameType <: blackbox.Context.Name](name: NameType): NameType

Создаёт уникальное имя, имеющее заданное имя в качестве префикса и тот же тип (имя переменной или имя типа), что и исходное имя. Подробности об уникальности см. в scala.reflect.macros.Names.

Annotations
@deprecated
Устарело

(Since version 2.11.0) используйте freshName вместо

абстрактный def fresh(name: String): String

Создаёт строку, представляющую уникальное имя с заданным префиксом. Подробности об уникальности см. в scala.reflect.macros.Names.

Annotations
@deprecated
Устарело

(Since version 2.11.0) используйте freshName вместо

абстрактный def fresh(): String

Создаёт строку, представляющую уникальное имя. Подробности об уникальности см. в scala.reflect.macros.Names.

Annotations
@deprecated
Устарело

(Since version 2.11.0) используйте freshName вместо

Члены конкретных значений

final def !=(arg0: Any): Boolean

Определяющие классы
AnyRef → Any

final def ##(): Int

Определяющие классы
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из Names вany2stringadd[Names] выполненного методом any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (Names, B)

Неявный
Этот член добавлен с помощью неявного преобразования из Names вArrowAssoc[Names] выполненного методом ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Определяющие классы
Any

def clone(): AnyRef

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()

def ensuring(cond: (Names) => Boolean, msg: => Any): Names

Неявный
Этот член добавлен с помощью неявного преобразования из Names вEnsuring[Names] выполненного методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (Names) => Boolean): Names

Неявный
Этот член добавлен с помощью неявного преобразования из Names вEnsuring[Names] выполненного методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: => Any): Names

Неявный
Этот член добавлен с помощью неявного преобразования из Names вEnsuring[Names] выполненного методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean): Names

Неявный
Этот член добавлен с помощью неявного преобразования из Names вEnsuring[Names] выполненного методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

final def eq(arg0: AnyRef): Boolean

Определяющие классы
AnyRef

def equals(arg0: AnyRef): Boolean

Определяющие классы
AnyRef → Any

def finalize(): Unit

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])

def formatted(fmtstr: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из Names вStringFormat[Names] выполненного методом StringFormat в scala.Predef.
Определяющие классы
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

Definition Classes
Any

final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef

final def notify(): Unit

Definition Classes
AnyRef
Annotations
@native()

final def notifyAll(): Unit

Definition Classes
AnyRef
Annotations
@native()

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def toString(): String

Definition Classes
AnyRef → Any

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala-reflect/scala/reflect/macros/Names.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API