Трейт scala.reflect.api.Trees.TypeBoundsTreeApi
trait TypeBoundsTreeApi extends Universe.TypTreeApi
Абстрактные члены значения
абстрактный метод canEqual(that: Any): Boolean
- Определяющие классы
- Equals
абстрактный метод canHaveAttrs: Boolean
Может ли это дерево содержать атрибуты (т.е. символы, типы или позиции)? Обычно ответ да, за исключением объекта EmptyTree null и двух специальных одиночных объектов: noSelfType и pendingSuperCall.
- Определяющие классы
- TreeApi
абстрактный метод children: List[Universe.Tree]
Прямые дочерние деревья этого дерева. Пустые деревья всегда опускаются. Списки сглаживаются.
- Определяющие классы
- TreeApi
абстрактный метод collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]
Применить pf к каждому поддереву, для которого функция определена, и собрать результаты.
- Определяющие классы
- TreeApi
абстрактный метод duplicate: TypeBoundsTreeApi.this.type
Создаёт копию этого дерева, сохраняя все атрибуты, за исключением того, что все позиции фокусируются (так что ничего в этом дереве не будет найдено при поиске по позиции).
- Определяющие классы
- TreeApi
абстрактный метод equalsStructure(that: Universe.Tree): Boolean
Проверяет, равны ли два дерева по структуре. Обратите внимание, что == для деревьев — это равенство ссылок.
- Определяющие классы
- TreeApi
абстрактный метод exists(p: (Universe.Tree) => Boolean): Boolean
Существует ли часть этого дерева, которая удовлетворяет предикату p?
- Определяющие классы
- TreeApi
абстрактный метод filter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Найти все поддеревья, соответствующие предикату p. То же, что и withFilter
- Определяющие классы
- TreeApi
абстрактный метод find(p: (Universe.Tree) => Boolean): Option[Universe.Tree]
Возвращает необязательно первое дерево (в обходе в порядке следования) которое удовлетворяет предикату p, или None, если такового нет.
- Определяющие классы
- TreeApi
абстрактный метод forAll(p: (Universe.Tree) => Boolean): Boolean
Все ли части этого дерева удовлетворяют предикату p?
- Определяющие классы
- TreeApi
абстрактный метод foreach(f: (Universe.Tree) => Unit): Unit
Применить f к каждому поддереву
- Определяющие классы
- TreeApi
абстрактный метод hi: Universe.Tree
Верхняя граница. Равна Ident(<scala.Any>) если не указана явно.
абстрактный метод isDef: Boolean
Представляет ли это дерево определение? (метода, класса и т.д.)
- Определяющие классы
- TreeApi
абстрактный метод isEmpty: Boolean
Является ли это дерево одним из пустых деревьев?
Пустые деревья: объект EmptyTree null и экземпляры TypeTree, которые не содержат тип.
- Определяющие классы
- TreeApi
- См. также
canHaveAttrs
абстрактный метод isTerm: Boolean
Канонический способ проверить, представляет ли дерево термин.
- Классы-определения
- TreeApi
abstract def isType: Boolean
Канонический способ проверить, представляет ли дерево тип.
- Классы-определения
- TreeApi
abstract def lo: Universe.Tree
Нижняя граница. Равна Ident(<scala.Nothing>), если не указано явно.
abstract def nonEmpty: Boolean
Является ли это дерево непустым?
- Классы-определения
- TreeApi
- См. также
isEmpty
abstract def orElse(alt: => Universe.Tree): Universe.Tree
Предлагает альтернативу, если дерево пустое.
- alt
Альтернативное дерево
- возвращает
Если это дерево непустое, то это дерево, в противном случае
alt.
- Классы-определения
- TreeApi
abstract def pos: Universe.Position
Позиция дерева.
- Классы-определения
- TreeApi
abstract def productArity: Int
- Классы-определения
- Product
abstract def productElement(n: Int): Any
- Классы-определения
- Product
abstract def symbol: Universe.Symbol
Символ дерева.
Для большинства деревьев символ является null. В SymTree случаях он переопределён и реализован как переменная, инициализированная значением NoSymbol.
Деревья, которые не SymTrees, но которые несут символы, делают это, переопределяя def symbol для перенаправления в другое место. Примеры:
Super(qual, _) имеет символ qual,
Apply(fun, args) имеет символ fun,
TypeApply(fun, args) имеет символ fun,
AppliedTypeTree(tpt, args) имеет символ tpt,
TypeTree(tpe) имеет символ tpe's typeSymbol, если tpe != null. - Классы-определения
- TreeApi
abstract def tpe: Universe.Type
Тип дерева.
При создании у большинства деревьев их tpe установлено в null. Типы обычно назначаются деревьям во время проверки типов. Некоторые методы фабрики узлов устанавливают tpe сразу после создания.
Когда анализатор типов сталкивается с деревом, у которого tpe не null, он предположит его корректность и не будет проверять его ещё раз. Это означает, что нужно быть осторожным, не удаляя поле tpe в поддеревьях.
- Классы-определения
- TreeApi
abstract def withFilter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Найти все поддеревья, соответствующие предикату p. То же самое, что и filter
- Классы-определения
- TreeApi
Члены-значения конкретного типа
final def !=(arg0: Any): Boolean
- Определяющие классы
- AnyRef → Any
final def ##(): Int
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вany2stringadd[Universe.TypeBoundsTreeApi] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (Universe.TypeBoundsTreeApi, B)
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вArrowAssoc[Universe.TypeBoundsTreeApi] с помощью метода 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: (Universe.TypeBoundsTreeApi) => Boolean, msg: => Any): Universe.TypeBoundsTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вEnsuring[Universe.TypeBoundsTreeApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Universe.TypeBoundsTreeApi) => Boolean): Universe.TypeBoundsTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вEnsuring[Universe.TypeBoundsTreeApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Universe.TypeBoundsTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вEnsuring[Universe.TypeBoundsTreeApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Universe.TypeBoundsTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вEnsuring[Universe.TypeBoundsTreeApi] с помощью метода 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
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TypeBoundsTreeApi вStringFormat[Universe.TypeBoundsTreeApi] с помощью метода StringFormat в scala.Predef.
- Классы-определения
- StringFormat
- Аннотации
- @inline()
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()
def productElementName(n: Int): String
- Классы-определения
- Product
def productElementNames: Iterator[String]
- Классы-определения
- Product
def productIterator: Iterator[Any]
- Классы-определения
- Product
def productPrefix: String
- Классы-определения
- Product
final def synchronized[T0](arg0: => T0): T0
- Классы-определения
- AnyRef
def toString(): String
Получает строковое представление дерева
- Классы-определения
- TreeApi → 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()
© 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/Trees$TypeBoundsTreeApi.html
API, который поддерживают все деревья ограничений типов