Трейт scala.reflect.api.Trees.ClassDefApi
trait ClassDefApi extends Universe.ImplDefApi
Абстрактные члены значения
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: ClassDefApi.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]
Возвращает необязательно первое дерево (в обходе preorder), которое удовлетворяет предикату 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 impl: Universe.Template
Тело определения.
- Определяющие классы
- ClassDefApi → ImplDefApi
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 mods: Universe.Modifiers
Модификаторы объявленного члена.
- Definition Classes
- ClassDefApi → MemberDefApi
abstract def name: Universe.TypeName
Имя класса.
- Definition Classes
- ClassDefApi → DefTreeApi → NameTreeApi
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 он переопределяется и реализуется с var, инициализированным 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
- SymTreeApi → TreeApi
abstract def tparams: List[Universe.TypeDef]
abstract def tpe: Universe.Type
Тип дерева.
При создании большинство деревьев имеют свой tpe, установленный на null. Типы обычно назначаются деревьям во время проверки типов. Некоторые методы создания узлов устанавливают tpe сразу после создания.
Когда проверяющий типов сталкивается с деревом, у которого не null 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.ClassDefApi в any2stringadd[Universe.ClassDefApi] с помощью метода any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (Universe.ClassDefApi, B)
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.ClassDefApi в ArrowAssoc[Universe.ClassDefApi] с помощью метода 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.ClassDefApi) => Boolean, msg: => Any): Universe.ClassDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.ClassDefApi в Ensuring[Universe.ClassDefApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Universe.ClassDefApi) => Boolean): Universe.ClassDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.ClassDefApi в Ensuring[Universe.ClassDefApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Universe.ClassDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.ClassDefApi в Ensuring[Universe.ClassDefApi] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Universe.ClassDefApi
- Неявный
- Этот член добавлен с помощью неявного преобразования из Universe.ClassDefApi в Ensuring[Universe.ClassDefApi] с помощью метода 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.ClassDefApi вStringFormat[Universe.ClassDefApi] с помощью метода 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$ClassDefApi.html
API, который поддерживают все определения классов