anchor.diff:        if (!_isDirectSubclassOf(type, classReflectable)) {
           // Instance of [classReflectable], or of indirect subclass
           // of [classReflectable]: Not supported, report an error.
  -        _severe(errors.METADATA_NOT_DIRECT_SUBCLASS, elementAnnotation.element);
  +        await _severe(
  +            errors.METADATA_NOT_DIRECT_SUBCLASS, elementAnnotation.element);
           return false;
         }
         // A direct subclass of [classReflectable], all OK.
  
positive.code:         // would mean that the value is actually null, which we will also
          // reject as irrelevant.
          if (constantValue == null) return null;
          bool isOk = checkInheritance(constantValue.type, focusClass.type);
          // When `isOK` is true, result.value.type.element is a ClassElement.
          return isOk ? constantValue.type.element : null;
        } else {
  
negative.code:       _ImportCollector importCollector) async {
      LibraryElement library = libraryDomain._libraryElement;
  
      List<String> gettersCodeList = [];
      for (ExecutableElement getter in _gettersOfLibrary(libraryDomain)) {
        gettersCodeList.add(
            await _topLevelGettingClosure(importCollector, library, getter.name));
      }
      String gettersCode = _formatAsMap(gettersCodeList);
  
      List<String> settersCodeList = [];
      for (PropertyAccessorElement setter in _settersOfLibrary(libraryDomain)) {
        settersCodeList.add(
            await _topLevelSettingClosure(importCollector, library, setter.name));
      }
      String settersCode = _formatAsMap(settersCodeList);
  
      // Fields go first in [memberMirrors], so they will get the
      // same index as in [fields].
  