anchor.diff:  ///   corresponding to a named parameter that has this annotation.
   const Required required = const Required();
   
  +/// Used to annotate a field is allowed to be overridden in Strong Mode.
  +const _Virtual virtual = const _Virtual();
  +
   /// Used to annotate a declaration was made public, so that it is more visible
   /// than otherwise necessary, to make code testable.
   ///
  
positive.code:   /// Initialize a newly created instance to have the given [reason].
    const Required([this.reason]);
  }
  
  /// Used to annotate a parameter of an instance method that overrides another
  /// method.
  ///
  /// Indicates that this parameter may have a tighter type than the parameter on
  /// its superclass. The actual argument will be checked at runtime to ensure it
  /// is a subtype of the overridden parameter type.
  const _Checked checked = const _Checked();
  
  /// Used to annotate a field is allowed to be overridden in Strong Mode.
  const _Virtual virtual = const _Virtual();
  
  class _Checked {
    const _Checked();
  
negative.code: /// * the declaration is referenced outside of its the defining library or a
  ///   library which is in the `test` folder of the defining package.
  const _VisibleForTesting visibleForTesting = const _VisibleForTesting();
  
  /// Used to annotate a class.
  ///
  /// See [immutable] for more details.
  class Immutable {
    /// A human-readable explanation of the reason why the class is immutable.
    final String reason;
  
    /// Initialize a newly created instance to have the given [reason].
    const Immutable([this.reason]);
  }
  
  /// Used to annotate a named parameter `p` in a method or function `f`.
  ///
  