A list of reflective targets.
Combined with metaTargets, this provides the complete list of reflective targets used by the library to which this metadata applies.
The following text is non-normative:
For now, there is no formal description of what a reflective target is. Informally, a target is a library, a class, a method or a field.
Dart2js currently supports the following formats to specify targets:
A constant List containing String constants representing (qualified) names of targets and Dart types. A single String constant whose value is a comma-separated list of (qualified) names. A single Dart type.
A (qualified) name is resolved to a target as follows:
.
and is a library name..
as a separator.For example:
library my.library.one; class A { var aField; } library main; @MirrorsUsed(targets: "my.library.one.A.aField") import "dart:mirrors";
The MirrorsUsed annotation specifies A
and aField
from library my.library.one
as targets. This will mark the class A
as a reflective target. The target specification for aField
has no effect, as there is no target in my.library.one
with that name.
Note that everything within a target also is available for reflection. So, if a library is specified as target, all classes in that library become targets for reflection. Likewise, if a class is a target, all its methods and fields become targets for reflection. As a consequence, aField
in the above example is also a reflective target.
final targets
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/2.0.0/dart-mirrors/MirrorsUsed/targets.html