anchor.diff:              EvaluationResultImpl evaluation =
                   _annotationEvaluationResult(metadatum);
               if (evaluation?.value != null) {
  -              DartObjectImpl value = evaluation.value;
  +              DartObject value = evaluation.value;
                 Object metadataFieldValue =
  -                  value.fields["metadataType"].toTypeValue().element;
  +                  value.getField("metadataType").toTypeValue().element;
                 if (metadataFieldValue == null ||
  -                  value.fields["metadataType"].type.element != typeClass) {
  +                  value.getField("metadataType").type.element != typeClass) {
                   // TODO(sigurdm) implement: Create a span for the annotation.
                   _warn(
                       WarningKind.badMetadata,
                       "The metadata must be a Type. "
  -                    "Found ${value.fields["metadataType"].type.element.name}",
  +                    "Found ${value.getField("metadataType").type.element.name}",
                       import);
                   continue;
                 }
                 ClassElement reflector =
  -                  value.fields["(super)"].fields["reflector"].type.element;
  +                  value.getField("(super)").getField("reflector").type.element;
                 if (reflector == null ||
                     reflector.type.element.supertype.element !=
                         reflectableClass) {
  
positive.code:         if (import.importedLibrary != reflectableLibrary) continue;
          for (ElementAnnotationImpl metadatum in import.metadata) {
            if (metadatum.element == globalQuantifyCapabilityConstructor) {
              DartObjectImpl value = _getEvaluatedMetadatum(metadatum);
              if (value != null) {
                String pattern = value.fields["classNamePattern"].toStringValue();
                if (pattern == null) {
                  // TODO(sigurdm) implement: Create a span for the annotation
                  // rather than the import.
  
negative.code:   @override
    void visitChildren(ElementVisitor visitor) =>
        throw unreachableError("visitChildren");
  
    @override
    bool get isAlwaysThrows => throw unreachableError("isAlwaysThrows");
  
    @override
    bool get isVisibleForTesting => throw unreachableError("isVisibleForTesting");
  }
  
  bool _isSetterName(String name) => name.endsWith("=");
  