meta 1.0.5

1.0.4

  • Introduce @virtual to allow field overrides in strong mode (SDK issue 27384).

    import 'package:meta/meta.dart' show virtual;
      class Base {
        @virtual int x;
      }
      class Derived extends Base {
        int x;
    
        // Expose the hidden storage slot:
        int get superX => super.x;
        set superX(int v) { super.x = v; }
      }

1.0.3

  • Introduce @checked to override a method and tighten a parameter type (SDK issue 25578).

    import 'package:meta/meta.dart' show checked;
      class View {
        addChild(View v) {}
      }
      class MyView extends View {
        // this override is legal, it will check at runtime if we actually
        // got a MyView.
        addChild(@checked MyView v) {}
      }
      main() {
        dynamic mv = new MyView();
        mv.addChild(new View()); // runtime error
      }

1.0.2

  • Introduce @visibleForTesting annotation for declarations that may be referenced only in the library or in a test.

1.0.1

  • Updated @factory to allow statics and methods returning null.

1.0.0

  • First stable API release.

0.12.2

  • Updated @protected to include implemented interfaces (linter#252).

0.12.1

  • Fixed markdown in dartdocs.

0.12.0

  • Introduce @optionalTypeArgs annotation for classes whose type arguments are to be treated as optional.

0.11.0

  • Added new Required constructor with a means to specify a reason to explain why a parameter is required.

0.10.0

  • Introduce @factory annotation for methods that must either be abstract ormust return a newly allocated object.
  • Introduce @literal annotation that indicates that any invocation of aconstructor must use the keyword const unless one or more of thearguments to the constructor is not a compile-time constant.

0.9.0

  • Introduce @protected annotation for members that must only be called frominstance members of subclasses.
  • Introduce @required annotation for optional parameters that should be treatedas required.
  • Introduce @mustCallSuper annotation for methods that must be invoked by alloverriding methods.

1. Depend on it

Add this to your package's pubspec.yaml file:

dependencies:
  meta: "^1.0.5"

2. Install it

You can install packages from the command line:

$ pub get

Alternatively, your editor might support pub. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:meta/meta.dart';

About

This library contains the definitions of annotations that provide additional semantic information about the program being annotated. These annotations are intended to be used by tools to provide a better user experience.

Author

Email misc@dartlang.org Dart Team

Homepage

www.dartlang.org

Documentation

www.dartdocs.org/documentation/meta/1.0.5/

Source code (hyperlinked)

www.crossdart.info/p/meta/1.0.5/

Uploader

dgrove@google.com
jmesserly@google.com
sigmund@google.com
pquitslund@google.com
brianwilkerson@google.com

Share