Трейт scala.reflect.api.Trees.DefTreeApi
trait DefTreeApi extends Universe.SymTreeApi with Universe.NameTreeApi
Абстрактные члены значения
abstract def canEqual(that: Any): Boolean
- Определяющие классы
- Equals
abstract def canHaveAttrs: Boolean
Может ли это дерево содержать атрибуты (т.е. символы, типы или позиции)? Как правило, ответ — да, за исключением объекта EmptyTree null и двух специальных одиночных элементов: noSelfType и pendingSuperCall.
- Определяющие классы
- TreeApi
abstract def children: List[Universe.Tree]
Прямые дочерние деревья этого дерева. EmptyTrees всегда пропускаются. Списки сплющиваются.
- Определяющие классы
- TreeApi
abstract def collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]
Применить pf к каждому поддереву, для которого функция определена, и собрать результаты.
- Определяющие классы
- TreeApi
abstract def duplicate: DefTreeApi.this.type
Создать копию этого дерева, сохранив все атрибуты, за исключением того, что все позиции сфокусированы (поэтому ничего в этом дереве не будет найдено при поиске по позиции).
- Определяющие классы
- TreeApi
abstract def equalsStructure(that: Universe.Tree): Boolean
Проверяет, равны ли две структуры деревьев. Обратите внимание, что == для деревьев — это равенство ссылок.
- Определяющие классы
- TreeApi
abstract def exists(p: (Universe.Tree) => Boolean): Boolean
Существует ли часть этого дерева, которая удовлетворяет предикату p?
- Определяющие классы
- TreeApi
abstract def filter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Найти все поддеревья, соответствующие предикату p. То же самое, что и withFilter
- Определяющие классы
- TreeApi
abstract def find(p: (Universe.Tree) => Boolean): Option[Universe.Tree]
Возвращает необязательное первое дерево (в обходе в порядке прямой обработки), которое удовлетворяет предикату p, или None, если такового нет.
- Определяющие классы
- TreeApi
abstract def forAll(p: (Universe.Tree) => Boolean): Boolean
Все ли части этого дерева удовлетворяют предикату p?
- Определяющие классы
- TreeApi
abstract def foreach(f: (Universe.Tree) => Unit): Unit
Применить f к каждому поддереву
- Определяющие классы
- TreeApi
abstract def isDef: Boolean
Представляет ли это дерево определение? (метода, класса и т. д.)
- Определяющие классы
- TreeApi
abstract def isEmpty: Boolean
Является ли это дерево одним из пустых деревьев?
Пустые деревья: объект EmptyTree null и экземпляры TypeTree, которые не содержат тип.
- Определяющие классы
- TreeApi
- См. также
canHaveAttrs
abstract def isTerm: Boolean
Канонический способ проверки, представляет ли дерево Term.
- Определяющие классы
- TreeApi
abstract def isType: Boolean
Канонический способ проверки, представляет ли дерево тип.
- Классы определения
- TreeApi
абстрактный def name: Universe.Name
Базовое имя. Например, часть List в Ident(TermName("List")).
- Классы определения
- DefTreeApi → NameTreeApi
абстрактный def nonEmpty: Boolean
Является ли это дерево непустым?
- Классы определения
- TreeApi
- См. также
isEmpty
абстрактный def orElse(alt: => Universe.Tree): Universe.Tree
Предоставляет альтернативу, если дерево пустое
- alt
Альтернативное дерево
- возвращает
Если это дерево непустое, то это дерево, в противном случае
alt.
- Классы определения
- TreeApi
абстрактный def pos: Universe.Position
Позиция дерева.
- Классы определения
- TreeApi
абстрактный def productArity: Int
- Классы определения
- Product
абстрактный def productElement(n: Int): Any
- Классы определения
- Product
абстрактный def symbol: Universe.Symbol
Символ дерева.
Для большинства деревьев символ является null. В SymTrees он переопределяется и реализуется с помощью переменной, инициализированной 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. - Классы определения
- SymTreeApi → TreeApi
абстрактный def tpe: Universe.Type
Тип дерева.
При создании большинство деревьев имеют tpe, установленный на null. Типы обычно назначаются деревьям во время проверки типов. Некоторые методы создания узлов устанавливают tpe сразу после создания.
Когда проверка типов сталкивается с деревом с ненулевым tpe, она предположит, что оно верно, и не проверит его повторно. Это означает, что необходимо быть внимательным, чтобы не стереть поле tpe поддеревьев.
- Классы определения
- TreeApi
абстрактный def withFilter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Найти все поддеревья, соответствующие предикату p. То же самое, что и filter
- Классы определения
- TreeApi
Члены-значения (Concrete Value Members)
final def !=(arg0: Any): Boolean
- Определяющие классы
- AnyRef → Any
final def ##(): Int
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен благодаря неявной конверсии из Universe.DefTreeApi вany2stringadd[Universe.DefTreeApi] посредством метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (Universe.DefTreeApi, B)
- Неявный
- Этот член добавлен благодаря неявной конверсии из Universe.DefTreeApi вArrowAssoc[Universe.DefTreeApi] посредством метода 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.DefTreeApi) => Boolean, msg: => Any): Universe.DefTreeApi
- Неявный
- Этот член добавлен благодаря неявной конверсии из Universe.DefTreeApi вEnsuring[Universe.DefTreeApi] посредством метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Universe.DefTreeApi) => Boolean): Universe.DefTreeApi
- Неявный
- Этот член добавлен благодаря неявной конверсии из Universe.DefTreeApi вEnsuring[Universe.DefTreeApi] посредством метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Universe.DefTreeApi
- Неявный
- Этот член добавлен благодаря неявной конверсии из Universe.DefTreeApi вEnsuring[Universe.DefTreeApi] посредством метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Universe.DefTreeApi
- Неявный
- Этот член добавлен благодаря неявной конверсии из Universe.DefTreeApi вEnsuring[Universe.DefTreeApi] посредством метода 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.DefTreeApi вStringFormat[Universe.DefTreeApi] с помощью метода 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$DefTreeApi.html
API, поддерживаемый всеми деревьями def.