anchor.diff:      return _nullElement ??= _getClassElement(_coreLibrary, 'Null');
     }
   
  +  @override
  +  DartObjectImpl get nullObject {
  +    if (_nullObject == null) {
  +      _nullObject = DartObjectImpl(nullType, NullState.NULL_STATE);
  +    }
  +    return _nullObject;
  +  }
  +
     InterfaceTypeImpl get nullStar {
       return _nullStar ??= nullElement.instantiate(
         typeArguments: const [],
  
positive.code:     @required bool isNonNullableByDefault,
    })  : _coreLibrary = coreLibrary,
          _asyncLibrary = asyncLibrary,
          _isNonNullableByDefault = isNonNullableByDefault;
  
    TypeProviderImpl get asLegacy {
      if (_isNonNullableByDefault) {
        return TypeProviderImpl(
          coreLibrary: _coreLibrary,
          asyncLibrary: _asyncLibrary,
  
negative.code: 
    /// If `true`, then NNBD types are returned.
    /// If `false`, then legacy types are returned.
    final bool isNonNullableByDefault;
  
    ClassElement _boolElement;
    ClassElement _doubleElement;
  