Трейт scala.reflect.api.Exprs
trait Exprs extends AnyRef
Type Members
trait Expr[+T] extends Equals with Serializable
Expr оборачивает абстрактное синтаксическое дерево и маркирует его своим типом. Основным источником информации об exprs является страница scala.reflect.api.Exprs.
Члены-значения
final def !=(arg0: Any): Boolean
- Определяющие классы
- AnyRef → Any
final def ##(): Int
- Определяющие классы
- AnyRef → Any
def +(other: String): String
def ->[B](y: B): (Exprs, B)
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: (Exprs) => Boolean, msg: => Any): Exprs
def ensuring(cond: (Exprs) => Boolean): Exprs
def ensuring(cond: Boolean, msg: => Any): Exprs
def ensuring(cond: Boolean): Exprs
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
final def getClass(): Class[_ <: AnyRef]
- Определения классов
- AnyRef → Any
- Аннотации
- @native()
def hashCode(): Int
- Определения классов
- AnyRef → Any
- Аннотации
- @native()
final def isInstanceOf[T0]: Boolean
- Определения классов
- Any
final def ne(arg0: AnyRef): Boolean
- Определения классов
- AnyRef
final def notify(): Unit
- Определения классов
- AnyRef
- Аннотации
- @native()
final def notifyAll(): Unit
- Определения классов
- AnyRef
- Аннотации
- @native()
final def synchronized[T0](arg0: => T0): T0
- Определения классов
- AnyRef
def toString(): String
- Определения классов
- AnyRef → Any
final def wait(): Unit
- Определения классов
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Определения классов
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
- Определения классов
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException]) @native()
object Expr extends java.io.Serializable
Конструктор/Экстрактор для Expr.
Может быть полезен при наличии дерева и желании вставить его в вызов reify, в этом случае дерево сначала должно быть обернуто в expr.
Основным источником информации о exprs является страница scala.reflect.api.Exprs.
© 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/api/Exprs.html
ЭКСПЕРИМЕНТАЛЬНО
Трейт, определяющий сильно типизированные обёртки деревьев и операции над ними для использования в Scala Reflection.
Exprоборачивает абстрактное синтаксическое дерево (scala.reflect.api.Trees#Tree) и маркирует его своим типом (scala.reflect.api.Types#Type).Обычно
Exprсоздаются с помощью scala.reflect.api.Universe#reify, в этом случае компилятор создаёт scala.reflect.api.TreeCreator для заданного выражения и также создаёт дополнительный scala.reflect.api.TypeTags#WeakTypeTag, соответствующий типу этого выражения.Exprтакже можно создать вручную с помощьюExprкомпаньон-объекта, но тогда на программисте лежит ответственность за предоставлениеTreeCreator. Рефлексия во время компиляции с помощью макросов, как описано в scala.reflect.macros.Aliases, предоставляет более удобный способ ручного создания exprs. Однако ручное создание крайне редко необходимо при работе с рефлексией во время выполнения.Exprможно перенести из одного зеркала в другое, используя методin. Перенос означает, что все символические ссылки на классы/объекты/пакеты в выражении переопределяются в новом зеркале (обычно с помощью загрузчика классов этого зеркала). По умолчанию вселеннаяExprобычно scala.reflect.runtime#universe, а зеркало по умолчанию — scala.reflect.runtime#currentMirror.