Spec-Zone.ru › Scala 2.13 Reflection

Трейт scala.reflect.api.Trees.LabelDefApi

трейт LabelDefApi extends Universe.DefTreeApi with Universe.TermTreeApi

API, поддерживаемый всеми определениями меток

Self Type
Universe.LabelDef
Source
Trees.scala
Линейные супертипы
Universe.TermTreeApi, Universe.DefTreeApi, Universe.NameTreeApi, Universe.SymTreeApi, Universe.TreeApi, Product, Equals, AnyRef, Any
Известные подклассы
LabelDef

Абстрактные члены-значения

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: LabelDefApi.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
См. также

canHaveAttrs

abstract def isTerm: Boolean

Канонический способ проверить, представляет ли дерево термин.

Definition Classes
TreeApi

абстрактный метод isType: Boolean

Канонический способ проверки, представляет ли дерево тип.

Определяющие классы
TreeApi

абстрактный метод name: Universe.TermName

Базовое имя. Например, часть List в Ident(TermName("List")).

Определяющие классы
LabelDefApi → DefTreeApi → NameTreeApi

абстрактный метод nonEmpty: Boolean

Является ли это дерево непустым?

Определяющие классы
TreeApi
См. также

isEmpty

абстрактный метод orElse(alt: => Universe.Tree): Universe.Tree

Предоставляет альтернативу, если дерево пустое

alt

Альтернативное дерево

возвращает

Если это дерево непустое, возвращает это дерево, в противном случае alt.

Определяющие классы
TreeApi

абстрактный метод params: List[Universe.Ident]

Параметры метки - имена, которые могут использоваться в теле метки. См. пример для scala.reflect.api.Trees#LabelDefExtractor.

абстрактный метод pos: Universe.Position

Позиция дерева.

Определяющие классы
TreeApi

абстрактный метод productArity: Int

Определяющие классы
Product

абстрактный метод productElement(n: Int): Any

Определяющие классы
Product

абстрактный метод rhs: Universe.Tree

Тело метки. См. пример для scala.reflect.api.Trees#LabelDefExtractor.

абстрактный метод 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

абстрактный метод tpe: Universe.Type

Тип дерева.

При создании большинства деревьев их tpe устанавливается в null. Типы обычно назначаются деревьям во время проверки типов. Некоторые методы создания узлов устанавливают tpe сразу после создания.

Когда проверка типов сталкивается с деревом, у которого tpe не null, она предположит, что оно корректно, и не будет проверять его повторно. Это означает, что нужно быть осторожным, чтобы не стереть поле tpe поддеревьев.

Классы-определения
TreeApi

абстрактный метод 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.LabelDefApi вany2stringadd[Universe.LabelDefApi] выполненный методом any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (Universe.LabelDefApi, B)

Неявный
Этот член добавлен с помощью неявного преобразования из Universe.LabelDefApi вArrowAssoc[Universe.LabelDefApi] выполненный методом 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.LabelDefApi) => Boolean, msg: => Any): Universe.LabelDefApi

Implicit
This member is added by an implicit conversion from Universe.LabelDefApi toEnsuring[Universe.LabelDefApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (Universe.LabelDefApi) => Boolean): Universe.LabelDefApi

Implicit
This member is added by an implicit conversion from Universe.LabelDefApi toEnsuring[Universe.LabelDefApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): Universe.LabelDefApi

Implicit
This member is added by an implicit conversion from Universe.LabelDefApi toEnsuring[Universe.LabelDefApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): Universe.LabelDefApi

Implicit
This member is added by an implicit conversion from Universe.LabelDefApi toEnsuring[Universe.LabelDefApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

Definition Classes
AnyRef → Any

def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])

def formatted(fmtstr: String): String

Неявный
Этот член добавляется с помощью неявного преобразования из Universe.LabelDefApi вStringFormat[Universe.LabelDefApi] выполненного методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

final def getClass(): Class[_ <: AnyRef]

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

Definition Classes
Any

final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef

final def notify(): Unit

Definition Classes
AnyRef
Annotations
@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$LabelDefApi.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API