Spec-Zone.ru › Scala 2.13 Reflection

Трейт scala.reflect.api.Mirrors.InstanceMirror

трейт InstanceMirror extends AnyRef

Зеркало, отражающее значение во время выполнения. См. страницу обзора для получения подробной информации о том, как использовать рефлексию во время выполнения.

Источник
Mirrors.scala
Линейные надтипы
AnyRef, Any

Абстрактные члены

абстрактный definstance: Any

абстрактный defreflectClass(cls: Universe.ClassSymbol): Universe.ClassMirror

Отражает внутренний символ класса и возвращает зеркало, которое может быть использовано для создания экземпляров класса, проверки его компаньон-объекта или дальнейшего отражения.

Чтобы получить символ класса по имени класса, который вы хотите отразить, используйте <this mirror>.symbol.info.member(TypeName(<name of the class>)).asClass. Дополнительную информацию о поиске членов см. в Symbol.info.

Вводной символ может быть частным или нет (рефлексия Scala прозрачно обрабатывает видимость). Он должен быть членом (объявленным или унаследованным) экземпляра, лежащего в основе этого зеркала.

абстрактный defreflectField(field: Universe.TermSymbol): Universe.FieldMirror

Отражает символ поля и возвращает зеркало, которое можно использовать для получения и, при необходимости, установки значения поля.

FieldMirrors — единственный способ доступа к частным[this] переменным val и var, и они могут быть полезны для проверки данных базовых полей Java. Для всех других целей лучше использовать поля-экземпляры.

В частности, не следует обращаться к зеркалу поля при отражении только общедоступных членов класса или трактата. Обратите также внимание, что только зеркала MethodMirrors, но не FieldMirrors, правильно отражают поведение переопределения.

Чтобы получить символ поля по имени поля, которое вы хотите отразить, используйте <this mirror>.symbol.info.member(TermName(<name of the field>)).asTerm.accessed. Дополнительную информацию о поиске членов см. в Symbol.info.

Входной символ может быть частным или нет (рефлексия Scala прозрачно обрабатывает видимость). Он должен быть членом (объявленным или унаследованным) класса экземпляра, лежащего в основе этого зеркала.

Входной символ может представлять либо само поле, либо один из соответствующих аксессоров (во всех случаях полученное зеркало будет ссылаться на символ поля).

Если символ поля не соответствует отображаемому элементу базовой платформы, будет выброшено исключение ScalaReflectionException. Это может произойти, например, для параметров первичного конструктора. Обычно они создают поля класса, но частные параметры, которые не используются за пределами конструктора, остаются простыми параметрами метода конструктора класса.

абстрактный defreflectMethod(method: Universe.MethodSymbol): Universe.MethodMirror

Отражает символ метода и возвращает зеркало, которое можно использовать для вызова предоставленного метода.

Чтобы получить символ метода по имени метода, который вы хотите отразить, используйте <this mirror>.symbol.info.member(TermName(<name of the method>)).asMethod. Дополнительную информацию о поиске членов см. в Symbol.info.

Входной символ может быть частным или нет (рефлексия Scala прозрачно обрабатывает видимость). Он должен быть членом (объявленным или унаследованным) экземпляра, лежащего в основе этого зеркала.

абстрактный defreflectModule(mod: Universe.ModuleSymbol): Universe.ModuleMirror

Отражает внутренний символ модуля и возвращает зеркало, которое можно использовать для получения экземпляра объекта или проверки его компаньон-класса.

Чтобы получить символ модуля по имени объекта, который вы хотите отразить, используйте <this mirror>.symbol.info.member(TermName(<name of the object>)).asModule. Дополнительную информацию о поиске членов см. в Symbol.info.

Входной символ может быть частным или нет (рефлексия Scala прозрачно обрабатывает видимость). Он должен быть членом (объявленным или унаследованным) экземпляра, лежащего в основе этого зеркала.

абстрактный defsymbol: Universe.ClassSymbol

Члены-значения (Concrete Value Members)

final def !=(arg0: Any): Boolean

Определение классов
AnyRef → Any

final def ##(): Int

Определение классов
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из Universe.InstanceMirror вany2stringadd[Universe.InstanceMirror] с помощью метода any2stringadd в scala.Predef.
Определение классов
any2stringadd

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

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

Неявный
Этот член добавлен неявным преобразованием из Universe.InstanceMirror вEnsuring[Universe.InstanceMirror] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

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

Неявный
Этот член добавлен неявным преобразованием из Universe.InstanceMirror вEnsuring[Universe.InstanceMirror] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

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

Неявный
Этот член добавлен неявным преобразованием из Universe.InstanceMirror вEnsuring[Universe.InstanceMirror] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def ensuring(cond: Boolean): Universe.InstanceMirror

Неявный
Этот член добавлен неявным преобразованием из Universe.InstanceMirror вEnsuring[Universe.InstanceMirror] с помощью метода 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.InstanceMirror вStringFormat[Universe.InstanceMirror] выполняемым методом 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()

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/Mirrors$InstanceMirror.html

Spec-Zone.ru

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