Аннотация scala.reflect.api.Trees.CaseDef
abstract type CaseDef >: Null <: Universe.CaseDefApi with Universe.Tree
Абстрактные члены значения
абстрактный def body: Universe.Tree
Тело части сопоставления по образцу. Равно Literal(Constant(())), если тело не указано.
- Определяющие классы
- CaseDefApi
абстрактный def canEqual(that: Any): Boolean
- Определяющие классы
- Equals
абстрактный def canHaveAttrs: Boolean
Может ли это дерево нести атрибуты (т.е. символы, типы или позиции)? Обычно ответ — да, за исключением объекта EmptyTree, а также двух особых синглетонов: noSelfType и pendingSuperCall.
- Определяющие классы
- TreeApi
абстрактный def children: List[Universe.Tree]
Прямые дочерние деревья этого дерева. EmptyTrees всегда опускаются. Списки сглаживаются.
- Определяющие классы
- TreeApi
абстрактный def collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]
Применение pf к каждому поддереву, для которого функция определена, и сбор результатов.
- Определяющие классы
- TreeApi
абстрактный def duplicate: TreeApi.this.type
Создает копию этого дерева, сохраняя все атрибуты, за исключением того, что все позиции сфокусированы (поэтому ничего в этом дереве не будет найдено при поиске по позиции).
- Определяющие классы
- TreeApi
абстрактный def equalsStructure(that: Universe.Tree): Boolean
Проверяет, равны ли два дерева по структуре. Обратите внимание, что == для деревьев — это равенство ссылок.
- Определяющие классы
- TreeApi
абстрактный def exists(p: (Universe.Tree) => Boolean): Boolean
Существует ли часть этого дерева, которая удовлетворяет предикату p?
- Определяющие классы
- TreeApi
абстрактный def filter(f: (Universe.Tree) => Boolean): List[Universe.Tree]
Найти все поддеревья, соответствующие предикату p. То же самое, что и withFilter.
- Определяющие классы
- TreeApi
абстрактный def find(p: (Universe.Tree) => Boolean): Option[Universe.Tree]
Возвращает необязательно первое дерево (в порядке обхода по прямой), удовлетворяющее предикату p, или None, если такового нет.
- Определяющие классы
- TreeApi
абстрактный def forAll(p: (Universe.Tree) => Boolean): Boolean
Все ли части этого дерева удовлетворяют предикату p?
- Определяющие классы
- TreeApi
абстрактный def foreach(f: (Universe.Tree) => Unit): Unit
Применение f к каждому поддереву
- Определяющие классы
- TreeApi
абстрактный def guard: Universe.Tree
Охранник части сопоставления по образцу. Равно EmptyTree , если охранник не указан.
- Определяющие классы
- CaseDefApi
абстрактный def isDef: Boolean
Представляет ли это дерево определение? (метода, класса и т. д.)
- Определяющие классы
- TreeApi
абстрактный def isEmpty: Boolean
Является ли это дерево одним из пустых деревьев?
Пустые деревья: объект EmptyTree null и экземпляры TypeTree, которые не несут тип.
- Определяющие классы
- TreeApi
- См. также
canHaveAttrs
абстрактный def isTerm: Boolean
Канонический способ проверки, представляет ли дерево терм.
- Определяющие классы
- TreeApi
абстрактный def isType: Boolean
Канонический способ проверки, представляет ли дерево тип.
- Определяющие классы
- TreeApi
абстрактный def nonEmpty: Boolean
Не является ли это дерево пустым деревом?
- Определяющие классы
- TreeApi
- См. также
isEmpty
абстрактный def orElse(alt: => Universe.Tree): Universe.Tree
Предоставляет альтернативу, если дерево пустое
- alt
Альтернативное дерево
- возвращает
Если это дерево не пустое, возвращает это дерево, иначе
alt.
- Определяющие классы
- TreeApi
абстрактный def pat: Universe.Tree
Шаблон для ветви сопоставления с образцом.
- Определяющие классы
- CaseDefApi
абстрактный 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 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
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()
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])
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
- Definition Classes
- AnyRef
- Annotations
- @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$CaseDef.html
Раздел случая в соответствии с образцом. (за исключением случаев в операторах переключателей). Удаляется фазами компилятора patmat (в новом соответствии с образцом 2.10) или explicitouter (в старом соответствии с образцом до 2.10)