| Index: packages/meta/CHANGELOG.md
|
| diff --git a/packages/meta/CHANGELOG.md b/packages/meta/CHANGELOG.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b44eb572ca2566a2aee25a4284347b228192a6b5
|
| --- /dev/null
|
| +++ b/packages/meta/CHANGELOG.md
|
| @@ -0,0 +1,99 @@
|
| +## 1.1.1
|
| +* Update SDK constraint to be 2.0.0 dev friendly.
|
| +
|
| +## 1.1.0
|
| +* Introduce `@alwaysThrows` to declare that a function always throws
|
| + (SDK issue [17999](https://github.com/dart-lang/sdk/issues/17999)). This
|
| + is first available in Dart SDK 1.25.0-dev.1.0.
|
| +
|
| + ```dart
|
| + import 'package:meta/meta.dart';
|
| +
|
| + // Without knowing that [failBigTime] always throws, it looks like this
|
| + // function might return without returning a bool.
|
| + bool fn(expected, actual) {
|
| + if (expected != actual)
|
| + failBigTime(expected, actual);
|
| + else
|
| + return True;
|
| + }
|
| +
|
| + @alwaysThrows
|
| + void failBigTime(expected, actual) {
|
| + throw new StateError('Expected $expected, but was $actual.');
|
| + }
|
| + ```
|
| +
|
| +## 1.0.4
|
| +* Introduce `@virtual` to allow field overrides in strong mode
|
| + (SDK issue [27384](https://github.com/dart-lang/sdk/issues/27384)).
|
| +
|
| + ```dart
|
| + 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](https://github.com/dart-lang/sdk/issues/25578)).
|
| +
|
| + ```dart
|
| + 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 or
|
| +must return a newly allocated object.
|
| +* Introduce `@literal` annotation that indicates that any invocation of a
|
| +constructor must use the keyword `const` unless one or more of the
|
| +arguments to the constructor is not a compile-time constant.
|
| +
|
| +## 0.9.0
|
| +* Introduce `@protected` annotation for members that must only be called from
|
| +instance members of subclasses.
|
| +* Introduce `@required` annotation for optional parameters that should be treated
|
| +as required.
|
| +* Introduce `@mustCallSuper` annotation for methods that must be invoked by all
|
| +overriding methods.
|
|
|