anchor.diff:    }
   
     /**
  +   * Return annotations for the given [unlinkedConsts] in the [unit].
  +   */
  +  List<ElementAnnotation> _buildAnnotations(
  +      CompilationUnitElementImpl unit, List<UnlinkedConst> unlinkedConsts) {
  +    int length = unlinkedConsts.length;
  +    if (length != 0) {
  +      List<ElementAnnotation> annotations = new List<ElementAnnotation>(length);
  +      ResynthesizerContext context = unit.resynthesizerContext;
  +      for (int i = 0; i < length; i++) {
  +        annotations[i] = context.buildAnnotation(this, unlinkedConsts[i]);
  +      }
  +      return annotations;
  +    } else {
  +      return const <ElementAnnotation>[];
  +    }
  +  }
  +
  +  /**
      *  Updates cached values after an input changed.
      *
      *  Throws [FrozenHashCodeException] if not allowed.
  
positive.code:   @override
    List<ElementAnnotation> get metadata {
      if (_unlinkedPart != null) {
        CompilationUnitElementImpl definingUnit =
            library.definingCompilationUnit as CompilationUnitElementImpl;
        return _metadata ??= _unlinkedPart.annotations
            .map(
                (a) => definingUnit.resynthesizerContext.buildAnnotation(this, a))
            .toList();
      }
      return super.metadata;
    }
  
negative.code:   @override
    List<ElementAnnotation> get metadata {
      if (_unlinkedDefiningUnit != null) {
        _metadata ??= _buildAnnotations(
            _definingCompilationUnit as CompilationUnitElementImpl,
            _unlinkedDefiningUnit.libraryAnnotations);
        return _metadata;
      }
      return super.metadata;
  