Spec-Zone.ru › Dart 1

Библиотека dart:mirrors

Базовая рефлексия в Dart, с поддержкой интроспекции и динамического вызова.

Интроспекция — это подмножество рефлексии, позволяющее работающей программе исследовать собственную структуру. Например, функция, которая выводит имена всех членов произвольного объекта.

Динамический вызов — это способность вычислять код, который не был буквально указан во время компиляции, такой как вызов метода, имя которого передано в качестве аргумента (потому что оно взято из базы данных или введено пользователем).

Как интерпретировать документацию этой библиотеки

Как правило, имена объявлений Dart представлены экземплярами класса Symbol. Всякий раз, когда документация говорит об объекте s класса Symbol, обозначающем имя, это означает строку, используемую для создания s.

Документация часто злоупотребляет обозначениями с псевдокодом Dart, таким как o.x(a), где o и a определены как объекты; на самом деле в этих случаях подразумевается o'.x(a') где o' и a' — переменные Dart, привязанные к o и a соответственно. Кроме того, o' и a' предполагаются свежими переменными (то есть, они отличаются от других переменных в программе).

Иногда в документации упоминаются сериализуемые объекты. Объект сериализуем между изолятами тогда и только тогда, когда он является экземпляром num, bool, String, списком объектов, сериализуемых между изолятами, или словарем с ключами и значениями, которые все сериализуемы между изолятами.

Статус: Нестабильно

Библиотека dart:mirrors нестабильна, и её API может незначительно измениться в результате обратной связи пользователей. Эта библиотека зависит от платформы, поэтому она имеет реализации как для dart2js, так и для Dart VM. Обе находятся в разработке и могут пока не поддерживать все операции.

Функции

currentMirrorSystem() → MirrorSystem

Возвращает MirrorSystem для текущей изоляции.

reflect(Object reflectee) → InstanceMirror

Отображает экземпляр.

reflectClass(Type key) → ClassMirror

Отображает объявление класса.

reflectType(Type key, [ List<Type> typeArguments ]) → TypeMirror

Отображает тип, представленный key.

Классы

ClassMirror

A ClassMirror отражает класс языка Dart.

ClosureMirror

A ClosureMirror отражает замыкание.

CombinatorMirror

A mirror on a show/hide combinator declared on a library dependency.

Comment

Класс, используемый для кодирования комментариев в качестве метаданных-аннотаций.

DeclarationMirror

A DeclarationMirror отражает некоторую сущность, объявленную в программе Dart.

FunctionTypeMirror

A FunctionTypeMirror представляет тип функции на языке Dart.

InstanceMirror

An InstanceMirror отражает экземпляр объекта языка Dart.

IsolateMirror

An IsolateMirror отражает изолят.

LibraryDependencyMirror

A mirror on an import or export declaration.

LibraryMirror

A LibraryMirror отражает библиотеку языка Dart, предоставляя доступ к переменным, функциям и классам библиотеки.

MethodMirror

A MethodMirror отражает функцию, метод, конструктор, геттер или сеттер языка Dart.

Mirror

A Mirror отражает некоторую сущность языка Dart.

MirrorsUsed

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

MirrorSystem

A MirrorSystem — основной интерфейс, используемый для отражения набора связанных библиотек.

ObjectMirror

An ObjectMirror — общий суперинтерфейс для InstanceMirror, ClassMirror и LibraryMirror, представляющий их общие функции.

ParameterMirror

A ParameterMirror отражает объявление формального параметра Dart.

SourceLocation

A SourceLocation описывает область сущности в исходном коде Dart.

TypedefMirror

A TypedefMirror представляет typedef в программе языка Dart.

TypeMirror

A TypeMirror отражает класс, typedef, тип функции или переменную типа языка Dart.

TypeVariableMirror

A TypeVariableMirror представляет параметр типа обобщённого типа.

VariableMirror

A VariableMirror отражает объявление переменной языка Dart.

© 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/dart-mirrors-library.html

Spec-Zone.ru

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