Spec-Zone.ru › Dart 1

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.

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

MirrorsUsed({symbols, targets, metaTargets, override })
const

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

Свойства

metaTargets → dynamic
final

Список классов, которые при использовании в качестве метаданных указывают на рефлексивную цель. См. также targets.

override → dynamic
final

Список имен библиотек или "*".

symbols → dynamic
final

Список строк, переданных в new Symbol, и символы, которые могут быть переданы в MirrorSystem.getName.

targets → dynamic
final

Список рефлексивных целей.

hashCode → int
только для чтения, унаследованный

Хэш-код для этого объекта.

runtimeType → Type
только для чтения, унаследованный

Представление типа объекта во время выполнения.

Операторы

operator ==(other) → bool
унаследованный

Оператор равенства.

Методы

noSuchMethod(Invocation invocation) → dynamic
унаследованный

Вызывается при доступе к несуществующему методу или свойству.

toString() → String
унаследованный

Возвращает строковое представление этого объекта.

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-mirrors/MirrorsUsed-class.html

Spec-Zone.ru

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