anchor.diff:    ///
     /// Reductions are only allowed on keyup, keydown, etc., ie `(keyup.x)` or
     /// `(keydown.+)`.
  -  static const EVENT_REDUCTION_NOT_ALLOWED = const AngularWarningCode(
  +  static const EVENT_REDUCTION_NOT_ALLOWED = AngularWarningCode(
         'EVENT_REDUCTION_NOT_ALLOWED',
         'Event reductions are only allowed on keyup and keydown events');
   
     /// An error for when that functional directve had a specified `exportAs`.
  -  static const FUNCTIONAL_DIRECTIVES_CANT_BE_EXPORTED =
  -      const AngularWarningCode(
  -          'FUNCTIONAL_DIRECTIVES_CANT_BE_EXPORTED',
  -          'Function directives cannot have an exportAs setting, because they'
  -              " can't be exported");
  +  static const FUNCTIONAL_DIRECTIVES_CANT_BE_EXPORTED = AngularWarningCode(
  +      'FUNCTIONAL_DIRECTIVES_CANT_BE_EXPORTED',
  +      'Function directives cannot have an exportAs setting, because they'
  +          " can't be exported");
   
     /// Initialize a newly created error code to have the given [name].
     ///
  
positive.code:   ///
    /// When a user does for instance `template: 'foo$bar$baz`, we cannot analyze
    /// the template because we cannot easily map errors to code offsets.
    static const OFFSETS_CANNOT_BE_CREATED = const AngularHintCode(
        'OFFSETS_CANNOT_BE_CREATED',
        'Errors cannot be tracked for the constant expression because it is too'
            ' complex for errors to be mapped to locations in the file');
  
negative.code:   /// This occurs because the Dart parser expects expressions to occur in a
    /// larger context (a Dart file). It stops parsing on certain conditions such
    /// as semi-colons. We must report the excess, ie, `{{foo;}}`.
    static const TRAILING_EXPRESSION = AngularWarningCode(
        'TRAILING_EXPRESSION', 'Unexpected expression contents');
  
    /// An error for when an `@Output` is not an Stream.
    static const OUTPUT_MUST_BE_STREAM = AngularWarningCode(
        'OUTPUT_MUST_BE_STREAM', 'Output (of name {0}) must return a Stream');
  
    /// An error for when a two-way binding expression is not assignable.
    static const TWO_WAY_BINDING_NOT_ASSIGNABLE = AngularWarningCode(
        'TWO_WAY_BINDING_NOT_ASSIGNABLE',
        'Only assignable expressions can be two-way bound');
  
    /// An error for when an `@Input` annotation was used in the wrong place.
    static const INPUT_ANNOTATION_PLACEMENT_INVALID = AngularWarningCode(
        'INPUT_ANNOTATION_PLACEMENT_INVALID',
        'The @Input() annotation can only be put on properties and setters');
  
    /// An error for when an `@Output` annotation was used in the wrong place.
    static const OUTPUT_ANNOTATION_PLACEMENT_INVALID = AngularWarningCode(
        'OUTPUT_ANNOTATION_PLACEMENT_INVALID',
        'The @Output() annotation can only be put on properties and getters');
  
  