Трейт scala.reflect.api.FlagSets
Трейт FlagSets extends AnyRef
Члены типа
ТрейтFlagOps extends Any
API экземпляров FlagSet. Основным источником информации о наборах флагов является страница scala.reflect.api.FlagSets.
Абстрактный типFlagSet
ТрейтFlagValues extends AnyRef
Все возможные значения, которые могут составлять наборы флагов. Основным источником информации о наборах флагов является страница scala.reflect.api.FlagSets.
Абстрактные члены-значения
Абстрактный valFlag: Universe.FlagValues
Абстрактный valNoFlags: Universe.FlagSet
Неявный абстрактный defaddFlagOps(left: Universe.FlagSet): Universe.FlagOps
Члены конкретных значений
final def !=(arg0: Any): Boolean
- Определяющие классы
- AnyRef → Any
final def ##(): Int
- Определяющие классы
- AnyRef → Any
def +(other: String): String
def ->[B](y: B): (FlagSets, B)
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: (FlagSets) => Boolean, msg: => Any): FlagSets
def ensuring(cond: (FlagSets) => Boolean): FlagSets
def ensuring(cond: Boolean, msg: => Any): FlagSets
def ensuring(cond: Boolean): FlagSets
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
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()
final def synchronized[T0](arg0: => T0): T0
- Классы определений
- AnyRef
def toString(): String
- Классы определений
- 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/FlagSets.html
ЭКСПЕРИМЕНТАЛЬНО
Трейт, определяющий наборы флагов и операции над ними.
Flagиспользуются для предоставления модификаторов для абстрактных синтаксических деревьев, которые представляют определения через полеflagsобъекта scala.reflect.api.Trees#Modifiers. Деревья, которые принимают модификаторы:Например, чтобы создать класс с именем
C, можно написать что-то вроде:ClassDef(Modifiers(NoFlags), TypeName("C"), Nil, ...)Здесь набор флагов пустой.
Чтобы сделать
Cприватным, можно написать что-то вроде:ClassDef(Modifiers(PRIVATE), TypeName("C"), Nil, ...)Флаги также можно комбинировать с оператором вертикальной черты (
|). Например, приватный финальный класс записывается примерно так:ClassDef(Modifiers(PRIVATE | FINAL), TypeName("C"), Nil, ...)Список всех доступных флагов определен в scala.reflect.api.FlagSets#FlagValues, доступный через scala.reflect.api.FlagSets#Flag. (Обычно используется импорт с подстановкой, например,
import scala.reflect.runtime.universe.Flag._).Деревья определений компилируются в символы, поэтому флаги на модификаторах этих деревьев преобразуются во флаги на результирующих символах. В отличие от деревьев, символы не раскрывают флаги, а вместо этого предоставляют методы проверки
isXXX(например,isFinalможно использовать для проверки финальности). Эти методы проверки могут потребовать преобразования с помощьюasTerm,asTypeилиasClass, поскольку некоторые флаги имеют смысл только для определенных типов символов.Примечание: Эта часть API рефлексии рассматривается как кандидат на переработку. В будущих версиях API рефлексии наборы флагов могут быть заменены чем-то другим.
Для получения дополнительной информации о
FlagSetи других аспектах рефлексии Scala см. Руководство по рефлексии