Spec-Zone.ru › Dart 2

dart:mirrors

Класс MirrorsUsed

Аннотация, описывающая, как используется "dart:mirrors" (ЭКСПЕРИМЕНТАЛЬНО).

При использовании в качестве метаданных при импорте "dart:mirrors" в библиотеке L, этот класс описывает, как библиотека L использует "dart:mirrors", если не переопределено. См. override.

Следующий текст не является нормативным:

В некоторых сценариях, например, при минификации кода Dart или при генерации кода JavaScript из программы Dart, размер и производительность выходных данных могут пострадать от использования рефлексии. В таких случаях указание компилятору, что используется, может оказать существенное влияние.

Пример использования:

@MirrorsUsed(symbols: 'foo')
import 'dart:mirrors';

class Foo {
  noSuchMethod(Invocation invocation) {
    print(MirrorSystem.getName(invocation.memberName));
  }
}

main() {
  new Foo().foo(); // Prints "foo".
  new Foo().bar(); // Might print an arbitrary (mangled) name, "bar".
}

Для подробного описания параметров конструктора MirrorsUsed см. комментарии к symbols, targets, metaTargets и override.

Импорт dart:mirrors может иметь несколько аннотаций MirrorsUsed. Это особенно полезно для указания переопределений для конкретных библиотек. Например:

@MirrorsUsed(targets: 'foo.Bar', override: 'foo')
@MirrorsUsed(targets: 'Bar')
import 'dart:mirrors';

обеспечит доступ к целевому объекту Bar из текущей библиотеки и из библиотеки foo для рефлексии. Также см. override.

Аннотации
  • @Deprecated("Больше не имеет эффекта. Будет удален в более поздней версии.")

Конструкторы

MirrorsUsed({dynamic symbols, dynamic targets, dynamic metaTargets, dynamic override})
const
См. документацию для MirrorsUsed.symbols, MirrorsUsed.targets, MirrorsUsed.metaTargets и MirrorsUsed.override для документации параметров.

Свойства

hashCode → int
только для чтения, унаследованное
Хэш-код этого объекта.
metaTargets → dynamic
final
Список классов, которые, при использовании в качестве метаданных, указывают на рефлексивную цель. См. также targets.
override → dynamic
final
Список имён библиотек или "*".
runtimeType → Type
только для чтения, унаследованное
Представление типа объекта во время выполнения.
symbols → dynamic
final
Список строк, переданных в новый Symbol, и символов, которые могут быть переданы в MirrorSystem.getName.
targets → dynamic
final
Список рефлексивных целей.

Методы

noSuchMethod(Invocation invocation) → dynamic
унаследованное
Вызывается при обращении к несуществующему методу или свойству.
toString() → String
унаследованное
Строковое представление этого объекта.

Операторы

operator ==(Object other) → bool
унаследованное
Оператор равенства.

© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-mirrors/MirrorsUsed-class.html

Spec-Zone.ru

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