anchor.diff:        Procedure initialTarget = invocation.target;
         Expression replacementNode;
   
  -      RedirectionTarget redirectionTarget = getRedirectionTarget(initialTarget,
  -          legacyMode: library.loader.target.legacyMode);
  +      RedirectionTarget redirectionTarget =
  +          getRedirectionTarget(initialTarget, legacyMode: legacyMode);
         Member resolvedTarget = redirectionTarget?.target;
   
         if (resolvedTarget == null) {
  
positive.code:             unresolved.fileUri,
              unresolved.charOffset,
              typeParameter.name.length);
          if (!nonInstanceAccessIsError &&
              !isConstant &&
              library.loader.target.legacyMode) {
            // This is a warning in legacy mode.
            addProblem(message.messageObject, message.charOffset, message.length);
            suppressMessage = true;
  
negative.code:               ..fileOffset = assignmentOffset))
            ..fileOffset = assignmentOffset;
        } else {
          if (!legacyMode &&
              formalType != null &&
              !typeEnvironment.isSubtypeOf(formalType, builder.field.type)) {
            library.addProblem(
  