Trait scala.reflect.api.Trees.StarApi
trait StarApi extends Universe.TermTreeApi
Абстрактные члены значения
abstract def canEqual(that: Any): Boolean
- Definition Classes
- Equals
abstract def canHaveAttrs: Boolean
Может ли это дерево содержать атрибуты (т.е. символы, типы или позиции)? Обычно ответ — да, за исключением нулевого объекта EmptyTree и двух специальных одиночных элементов: noSelfType и pendingSuperCall.
- Definition Classes
- TreeApi
abstract def children: List[Universe.Tree]
Непосредственные дочерние деревья этого дерева. Пустые деревья всегда опускаются. Списки сжаты.
- Definition Classes
- TreeApi
abstract def collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]
Применяется к каждому поддереву, на котором функция определена, и собираются результаты.
- Definition Classes
- TreeApi
abstract def duplicate: StarApi.this.type
Создает копию этого дерева, сохраняя все атрибуты, за исключением того, что все позиции сфокусированы (поэтому ничего в этом дереве не будет найдено при поиске по позиции).
- Definition Classes
- TreeApi
abstract def elem: Universe.Tree
abstract def equalsStructure(that: Universe.Tree): Boolean
Проверяет, равны ли две структуры деревьев. Обратите внимание, что == для деревьев — это равенство ссылок.
- Definition Classes
- TreeApi
abstract def exists(p: (Universe.Tree) => Boolean): Boolean
Существует ли часть этого дерева, которая удовлетворяет предикату p?
- Definition Classes
- TreeApi
abstract def filter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Найти все поддеревья, соответствующие предикату p. То же самое, что withFilter
- Definition Classes
- TreeApi
abstract def find(p: (Universe.Tree) => Boolean): Option[Universe.Tree]
Возвращает необязательное первое дерево (в порядке обхода по переднему пути), которое удовлетворяет предикату p, или None, если такого не существует.
- Definition Classes
- TreeApi
abstract def forAll(p: (Universe.Tree) => Boolean): Boolean
Все ли части этого дерева удовлетворяют предикату p?
- Definition Classes
- TreeApi
abstract def foreach(f: (Universe.Tree) => Unit): Unit
Применить f к каждому поддереву
- Definition Classes
- TreeApi
abstract def isDef: Boolean
Представляет ли это дерево определение? (метода, класса и т.д.)
- Definition Classes
- TreeApi
abstract def isEmpty: Boolean
Является ли это дерево одним из пустых деревьев?
Пустые деревья: нулевой объект EmptyTree и экземпляры TypeTree, которые не несут тип.
- Definition Classes
- TreeApi
- See also
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 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
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Universe.StarApi вany2stringadd[Universe.StarApi] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (Universe.StarApi, B)
- Неявный
- Этот член добавлен неявным преобразованием из Universe.StarApi вArrowAssoc[Universe.StarApi] с помощью метода 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.StarApi) => Boolean, msg: => Any): Universe.StarApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.StarApi вEnsuring[Universe.StarApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Universe.StarApi) => Boolean): Universe.StarApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.StarApi вEnsuring[Universe.StarApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Universe.StarApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.StarApi вEnsuring[Universe.StarApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Universe.StarApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.StarApi вEnsuring[Universe.StarApi] с помощью метода 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.StarApi вStringFormat[Universe.StarApi] выполняемого методом 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$StarApi.html
API, который поддерживают все звёзды