metadata property Null safety
A list of the metadata associated with this declaration.
Let D be the declaration this mirror reflects. If D is decorated with annotations A1, ..., An where n > 0, then for each annotation Ai associated with D, 1 <= i <= n, let ci be the constant object specified by Ai. Then this method returns a list whose members c1, ..., cn. If no annotations are associated with D, then an empty list is returned.
If evaluating any of c1, ..., cn would cause a compilation error the effect is the same as if a non-reflective compilation error had been encountered.
Note that the return type of the corresponding method in
dart:mirrors is List
// // TODO(eernst) doc: Make this comment more user friendly. // TODO(eernst) implement: Include comments as `metadata`, remember to // indicate which ones are doc comments (`isDocComment`), // cf. https://github.com/dart-lang/reflectable/issues/3. // Note that we may wish to represent a comment as an // instance of [Comment] from reflectable/mirrors.dart, // which is required in order to indicate explicitly that it is // a doc comment; or we may decide that this violation of the // "return a base object, not a mirror" rule is unacceptable, and // return a [String], thus requiring the receiver to determine // whether or not it is a doc comment, based on the contents // of the [String]. // Remark from sigurdm@ on this topic, 2015/03/19 09:50:06: We // could also consider extending the interface with a // `docComments` or similar. To me it is highly confusing that // metadata returns comments. But if dart:mirrors does this we // might just want to follow along. /// /// Required capabilities: [metadata] requires a [MetadataCapability]. List<Object> get metadata;