Аннотация scala.reflect.api.Trees.Block
абстрактный тип Block >: Null <: Universe.BlockApi with Universe.TermTree
Абстрактные члены значений
abstract def canEqual(that: Any): Boolean
- Определяющие классы
- Equals
abstract def canHaveAttrs: Boolean
Может ли это дерево содержать атрибуты (т.е. символы, типы или позиции)? Обычно ответ да, за исключением объекта EmptyTree и двух специальных одиночных объектов: noSelfType и pendingSuperCall.
- Определяющие классы
- TreeApi
abstract def children: List[Universe.Tree]
Прямые дочерние деревья этого дерева. Пустые деревья всегда пропускаются. Списки сжаты.
- Определяющие классы
- TreeApi
abstract def collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]
Применить pf к каждому поддереву, для которого определена функция, и собрать результаты.
- Определяющие классы
- TreeApi
abstract def duplicate: TreeApi.this.type
Создать копию этого дерева, сохраняя все атрибуты, за исключением того, что все позиции сфокусированы (поэтому ничего в этом дереве не будет найдено при поиске по позиции).
- Определяющие классы
- TreeApi
abstract def equalsStructure(that: Universe.Tree): Boolean
Проверяет, равны ли два дерева структурно. Обратите внимание, что == для деревьев — это равенство по ссылке.
- Определяющие классы
- TreeApi
abstract def exists(p: (Universe.Tree) => Boolean): Boolean
Существует ли часть этого дерева, удовлетворяющая предикату p?
- Определяющие классы
- TreeApi
abstract def expr: Universe.Tree
Последнее выражение в блоке.
- Определяющие классы
- BlockApi
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
Канонический способ проверки, представляет ли дерево термин.
- Definition Classes
- TreeApi
abstract def isType: Boolean
Канонический способ проверки, представляет ли дерево тип.
- Definition Classes
- TreeApi
abstract def nonEmpty: Boolean
Является ли это дерево непустым деревом?
- Definition Classes
- TreeApi
- See also
isEmpty
abstract def orElse(alt: => Universe.Tree): Universe.Tree
Предоставляет альтернативу, если дерево пустое
- alt
Альтернативное дерево
- returns
Если это дерево непустое, то это дерево, в противном случае
alt.
- Definition Classes
- TreeApi
abstract def pos: Universe.Position
Позиция дерева.
- Definition Classes
- TreeApi
abstract def productArity: Int
- Definition Classes
- Product
abstract def productElement(n: Int): Any
- Definition Classes
- Product
abstract def stats: List[Universe.Tree]
Все, кроме последнего, выражения в блоке. Может быть пустым списком.
- Definition Classes
- BlockApi
abstract 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. - Definition Classes
- TreeApi
abstract def tpe: Universe.Type
Тип дерева.
При создании большинство деревьев имеют tpe значение null. Типы обычно присваиваются деревьям во время проверки типов. Некоторые методы фабрики узлов устанавливают tpe сразу после создания.
Когда проверяющий типов встречает дерево с ненулевым tpe, он предполагает, что оно правильно, и не проверяет его еще раз. Это означает, что необходимо быть осторожным, чтобы не стереть поле tpe поддеревьев.
- Definition Classes
- TreeApi
abstract def withFilter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Находит все поддеревья, соответствующие предикату p. То же, что и filter
- Definition Classes
- TreeApi
Члены-значения
final def !=(arg0: Any): Boolean
- Определение классов
- AnyRef → Any
final def ##(): Int
- Определение классов
- AnyRef → Any
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()
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])
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$Block.html
Блок выражений (выражения, разделенные точкой с запятой)