anchor.diff:  
     /// Returns the method from [methods] that has the given [name].
     MethodElement? getMethod(String name);
  +
  +  /// Returns the constructor from [constructors] that has the given [name].
  +  ConstructorElement? getNamedConstructor(String name);
   
     /// Returns the setter from [accessors] that has the given [name].
     PropertyAccessorElement? getSetter(String name);
  
positive.code:   /// [MethodElement]s are appended.
    List<MethodElement> get methods;
  
    /// Returns the field from [fields] that has the given [name].
    FieldElement? getField(String name);
  
  
negative.code:   List<InterfaceType> get mixins;
  }
  
  /// The result of applying augmentations to a [EnumElement].
  ///
  /// Clients may not extend, implement or mix-in this class.
  abstract class AugmentedEnumElement implements AugmentedInterfaceElement {
    /// Returns mixins applied by this class or in its augmentations.
    ///
    /// This is a union of mixins applied by the class declaration and all its
    /// augmentations.
    List<InterfaceType> get mixins;
  }
  
  /// The result of applying augmentations to a [InterfaceElement].
  ///
  /// Clients may not extend, implement or mix-in this class.
  abstract class AugmentedInterfaceElement {
    /// Returns accessors (getters and setters) declared in this element.
    ///
    /// [PropertyAccessorAugmentationElement]s replace corresponding elements,
    /// other [PropertyAccessorElement]s are appended.
    List<PropertyAccessorElement> get accessors;
  
    /// Returns constructors declared in this element.
    ///
    /// [ConstructorAugmentationElement]s replace corresponding elements,
    /// other [ConstructorElement]s are appended.
    List<ConstructorElement> get constructors;
  
    /// Returns fields declared in this element.
    ///
    /// [FieldAugmentationElement]s replace corresponding elements, other
  