Трейт scala.reflect.api.Trees.TypeDefApi
трейт TypeDefApi extends Universe.MemberDefApi
Абстрактные члены-значения
abstract def canEqual(that: Any): Boolean
- Определяющие классы
- Equals
abstract def canHaveAttrs: Boolean
Может ли это дерево содержать атрибуты (т.е. символы, типы или позиции)? Обычно ответ да, за исключением объекта EmptyTree null и двух специальных одиночных элементов: 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: TypeDefApi.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
Канонический способ проверить, представляет ли дерево терм.
- Определяющие классы
- TreeApi
abstract def isType: Boolean
Канонический способ проверки, представляет ли дерево тип.
- Определяющие классы
- TreeApi
абстрактный def mods: Universe.Modifiers
Модификаторы объявленного члена.
- Определяющие классы
- TypeDefApi → MemberDefApi
абстрактный def name: Universe.TypeName
Базовое имя. Например, часть List в Ident(TermName("List")).
- Определяющие классы
- TypeDefApi → 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 rhs: Universe.Tree
Тело определения. EmptyTree — тело пустое (например, для абстрактных членов типа).
абстрактный def symbol: Universe.Symbol
Символ дерева.
Для большинства деревьев символ null. В SymTree случаях он переопределяется и реализуется как переменная, инициализированная NoSymbol.
Деревья, которые не SymTree но которые несут символы, делают это, переопределяя def symbol для перенаправления в другое место. Примеры:
Super(qual, _) имеет символ qual,
Apply(fun, args) имеет символ fun,
TypeApply(fun, args) имеет символ fun,
AppliedTypeTree(tpt, args) имеет символ tpt,
TypeTree(tpe) имеет tpe символ typeSymbol, если tpe != null. - Определяющие классы
- SymTreeApi → TreeApi
абстрактный def tparams: List[Universe.TypeDef]
абстрактный 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.TypeDefApi вany2stringadd[Universe.TypeDefApi] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (Universe.TypeDefApi, B)
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.TypeDefApi вArrowAssoc[Universe.TypeDefApi] с помощью метода 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.TypeDefApi) => Boolean, msg: => Any): Universe.TypeDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.TypeDefApi вEnsuring[Universe.TypeDefApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Universe.TypeDefApi) => Boolean): Universe.TypeDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.TypeDefApi вEnsuring[Universe.TypeDefApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Universe.TypeDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.TypeDefApi вEnsuring[Universe.TypeDefApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Universe.TypeDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.TypeDefApi вEnsuring[Universe.TypeDefApi] с помощью метода 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.TypeDefApi в StringFormat[Universe.TypeDefApi] выполненное методом 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$TypeDefApi.html
API, поддерживаемый всеми определениями типов