Тракт scala.reflect.api.Trees.TermTreeApi
тракт TermTreeApi extends Universe.TreeApi
Абстрактные члены значений
abstract def canEqual(that: Any): Boolean
- Definition Classes
- Equals
abstract def canHaveAttrs: Boolean
Может ли это дерево содержать атрибуты (т.е. символы, типы или позиции)? Обычно ответ — да, за исключением объекта EmptyTree null и двух специальных синглетонов: noSelfType и pendingSuperCall.
- Definition Classes
- TreeApi
abstract def children: List[Universe.Tree]
Прямые дочерние деревья этого дерева. EmptyTrees всегда опускаются. Списки сглаживаются.
- Definition Classes
- TreeApi
abstract def collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]
Применить pf к каждому поддереву, для которого функция определена, и собрать результаты.
- Definition Classes
- TreeApi
abstract def duplicate: TermTreeApi.this.type
Создать копию этого дерева, сохраняя все атрибуты, за исключением того, что все позиции фокусируются (так что ничего в этом дереве не будет найдено при поиске по позиции).
- Definition Classes
- TreeApi
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 null и экземпляры TypeTree, которые не несут тип.
- Definition Classes
- TreeApi
- See also
canHaveAttrs
abstract def isTerm: Boolean
Канонический способ проверки, является ли Tree термином.
- Definition Classes
- TreeApi
abstract def isType: Boolean
Канонический способ проверки, представляет ли дерево тип.
- Классы определения
- TreeApi
абстрактный 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.- Классы определения
- TreeApi
абстрактный def tpe: Universe.Type
Тип дерева.
При создании большинство деревьев имеют свой tpe, установленный на null. Типы обычно назначаются деревьям во время проверки типов. Некоторые методы фабрики узлов устанавливают tpe сразу после создания.
Когда проверка типов встречает дерево с непустым tpe, она предположит, что оно правильно, и не будет проверять его повторно. Это означает, что нужно быть осторожным, чтобы не удалить поле tpe поддеревьев.
- Классы определения
- TreeApi
абстрактный 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.TermTreeApi в any2stringadd[Universe.TermTreeApi] с помощью метода any2stringadd в scala.Predef.
- Определения классов
- any2stringadd
def ->[B](y: B): (Universe.TermTreeApi, B)
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TermTreeApi в ArrowAssoc[Universe.TermTreeApi] с помощью метода 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.TermTreeApi) => Boolean, msg: => Any): Universe.TermTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TermTreeApi в Ensuring[Universe.TermTreeApi] с помощью метода Ensuring в scala.Predef.
- Определения классов
- Ensuring
def ensuring(cond: (Universe.TermTreeApi) => Boolean): Universe.TermTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TermTreeApi в Ensuring[Universe.TermTreeApi] с помощью метода Ensuring в scala.Predef.
- Определения классов
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Universe.TermTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TermTreeApi в Ensuring[Universe.TermTreeApi] с помощью метода Ensuring в scala.Predef.
- Определения классов
- Ensuring
def ensuring(cond: Boolean): Universe.TermTreeApi
- Неявный
- Этот член добавлен неявным преобразованием из Universe.TermTreeApi в Ensuring[Universe.TermTreeApi] с помощью метода 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.TermTreeApi вStringFormat[Universe.TermTreeApi] с помощью метода 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$TermTreeApi.html
API, который поддерживают все терм-деревья