From 128fbee51fc77b2b931be1cded41fd723921dc40 Mon Sep 17 00:00:00 2001 From: Dariusz Komosinski Date: Sun, 28 Jun 2020 13:51:34 +0200 Subject: [PATCH] Remove nullable and cref warnings. --- src/Avalonia.Base/AvaloniaProperty.cs | 4 +-- src/Avalonia.Base/AvaloniaPropertyRegistry.cs | 4 +-- .../Collections/Pooled/IReadOnlyPooledList.cs | 2 ++ .../Collections/Pooled/PooledList.cs | 3 +- src/Avalonia.Base/Data/BindingValue.cs | 36 +++++++++---------- src/Avalonia.Base/Data/Optional.cs | 10 +++--- src/Avalonia.Base/DirectPropertyBase.cs | 2 +- src/Avalonia.Base/IStyledPropertyMetadata.cs | 2 -- .../PropertyStore/LocalValueEntry.cs | 4 +-- src/Avalonia.Base/StyledPropertyMetadata`1.cs | 3 +- src/Avalonia.Base/ValueStore.cs | 2 +- 11 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/Avalonia.Base/AvaloniaProperty.cs b/src/Avalonia.Base/AvaloniaProperty.cs index daa7191cc5..09480f2701 100644 --- a/src/Avalonia.Base/AvaloniaProperty.cs +++ b/src/Avalonia.Base/AvaloniaProperty.cs @@ -159,8 +159,6 @@ namespace Avalonia /// internal int Id { get; } - internal bool HasChangedSubscriptions => _changed?.HasObservers ?? false; - /// /// Provides access to a property's binding via the /// indexer. @@ -512,7 +510,7 @@ namespace Avalonia /// /// An if setting the property can be undone, otherwise null. /// - internal abstract IDisposable? RouteSetValue( + internal abstract IDisposable RouteSetValue( IAvaloniaObject o, object value, BindingPriority priority); diff --git a/src/Avalonia.Base/AvaloniaPropertyRegistry.cs b/src/Avalonia.Base/AvaloniaPropertyRegistry.cs index 4a3b104f2a..4cde965400 100644 --- a/src/Avalonia.Base/AvaloniaPropertyRegistry.cs +++ b/src/Avalonia.Base/AvaloniaPropertyRegistry.cs @@ -362,7 +362,7 @@ namespace Avalonia /// The property. /// /// You won't usually want to call this method directly, instead use the - /// + /// /// method. /// public void Register(Type type, AvaloniaProperty property) @@ -413,7 +413,7 @@ namespace Avalonia /// The property. /// /// You won't usually want to call this method directly, instead use the - /// + /// /// method. /// public void RegisterAttached(Type type, AvaloniaProperty property) diff --git a/src/Avalonia.Base/Collections/Pooled/IReadOnlyPooledList.cs b/src/Avalonia.Base/Collections/Pooled/IReadOnlyPooledList.cs index 9bc3609dc5..7a233a62ab 100644 --- a/src/Avalonia.Base/Collections/Pooled/IReadOnlyPooledList.cs +++ b/src/Avalonia.Base/Collections/Pooled/IReadOnlyPooledList.cs @@ -13,9 +13,11 @@ namespace Avalonia.Collections.Pooled public interface IReadOnlyPooledList : IReadOnlyList { +#pragma warning disable CS0419 /// /// Gets a for the items currently in the collection. /// +#pragma warning restore CS0419 ReadOnlySpan Span { get; } } } diff --git a/src/Avalonia.Base/Collections/Pooled/PooledList.cs b/src/Avalonia.Base/Collections/Pooled/PooledList.cs index f0d6b292cc..e50e100d32 100644 --- a/src/Avalonia.Base/Collections/Pooled/PooledList.cs +++ b/src/Avalonia.Base/Collections/Pooled/PooledList.cs @@ -138,7 +138,6 @@ namespace Avalonia.Collections.Pooled /// initially empty, but will have room for the given number of elements /// before any reallocations are required. /// - /// If true, Count of list equals capacity. Depending on ClearMode, rented items may or may not hold dirty values. public PooledList(int capacity, ClearMode clearMode, ArrayPool customPool, bool sizeToCapacity) { if (capacity < 0) @@ -499,11 +498,13 @@ namespace Avalonia.Collections.Pooled public void AddRange(T[] array) => AddRange(array.AsSpan()); +#pragma warning disable CS0419 /// /// Adds the elements of the given to the end of this list. If /// required, the capacity of the list is increased to twice the previous /// capacity or the new size, whichever is larger. /// +#pragma warning restore CS0419 public void AddRange(ReadOnlySpan span) { var newSpan = InsertSpan(_size, span.Length, false); diff --git a/src/Avalonia.Base/Data/BindingValue.cs b/src/Avalonia.Base/Data/BindingValue.cs index 9aac1bacba..56f37ff89c 100644 --- a/src/Avalonia.Base/Data/BindingValue.cs +++ b/src/Avalonia.Base/Data/BindingValue.cs @@ -190,7 +190,7 @@ namespace Avalonia.Data /// Gets the value of the binding value if present, otherwise the default value. /// /// The value. - public T GetValueOrDefault() => HasValue ? _value : default; + public T GetValueOrDefault() => HasValue ? _value : default!; /// /// Gets the value of the binding value if present, otherwise a default value. @@ -209,8 +209,8 @@ namespace Avalonia.Data public TResult GetValueOrDefault() { return HasValue ? - _value is TResult result ? result : default - : default; + _value is TResult result ? result : default! + : default!; } /// @@ -225,7 +225,7 @@ namespace Avalonia.Data public TResult GetValueOrDefault(TResult defaultValue) { return HasValue ? - _value is TResult result ? result : default + _value is TResult result ? result : default! : defaultValue; } @@ -242,7 +242,7 @@ namespace Avalonia.Data UnsetValueType _ => Unset, DoNothingType _ => DoNothing, BindingNotification n => n.ToBindingValue().Cast(), - _ => (T)value + _ => (T)value! }; } @@ -259,18 +259,18 @@ namespace Avalonia.Data public static implicit operator BindingValue(Optional optional) { - return optional.HasValue ? optional.Value : Unset; + return optional.HasValue ? optional.Value! : Unset; } /// /// Returns a binding value with a type of . /// - public static BindingValue Unset => new BindingValue(BindingValueType.UnsetValue, default, null); + public static BindingValue Unset => new BindingValue(BindingValueType.UnsetValue, default!, null); /// /// Returns a binding value with a type of . /// - public static BindingValue DoNothing => new BindingValue(BindingValueType.DoNothing, default, null); + public static BindingValue DoNothing => new BindingValue(BindingValueType.DoNothing, default!, null); /// /// Returns a binding value with a type of . @@ -278,9 +278,9 @@ namespace Avalonia.Data /// The binding error. public static BindingValue BindingError(Exception e) { - e = e ?? throw new ArgumentNullException("e"); + e = e ?? throw new ArgumentNullException(nameof(e)); - return new BindingValue(BindingValueType.BindingError, default, e); + return new BindingValue(BindingValueType.BindingError, default!, e); } /// @@ -290,7 +290,7 @@ namespace Avalonia.Data /// The fallback value. public static BindingValue BindingError(Exception e, T fallbackValue) { - e = e ?? throw new ArgumentNullException("e"); + e = e ?? throw new ArgumentNullException(nameof(e)); return new BindingValue(BindingValueType.BindingErrorWithFallback, fallbackValue, e); } @@ -303,13 +303,13 @@ namespace Avalonia.Data /// The fallback value. public static BindingValue BindingError(Exception e, Optional fallbackValue) { - e = e ?? throw new ArgumentNullException("e"); + e = e ?? throw new ArgumentNullException(nameof(e)); return new BindingValue( fallbackValue.HasValue ? BindingValueType.BindingErrorWithFallback : BindingValueType.BindingError, - fallbackValue.HasValue ? fallbackValue.Value : default, + fallbackValue.HasValue ? fallbackValue.Value : default!, e); } @@ -319,9 +319,9 @@ namespace Avalonia.Data /// The data validation error. public static BindingValue DataValidationError(Exception e) { - e = e ?? throw new ArgumentNullException("e"); + e = e ?? throw new ArgumentNullException(nameof(e)); - return new BindingValue(BindingValueType.DataValidationError, default, e); + return new BindingValue(BindingValueType.DataValidationError, default!, e); } /// @@ -331,7 +331,7 @@ namespace Avalonia.Data /// The fallback value. public static BindingValue DataValidationError(Exception e, T fallbackValue) { - e = e ?? throw new ArgumentNullException("e"); + e = e ?? throw new ArgumentNullException(nameof(e)); return new BindingValue(BindingValueType.DataValidationErrorWithFallback, fallbackValue, e); } @@ -344,13 +344,13 @@ namespace Avalonia.Data /// The fallback value. public static BindingValue DataValidationError(Exception e, Optional fallbackValue) { - e = e ?? throw new ArgumentNullException("e"); + e = e ?? throw new ArgumentNullException(nameof(e)); return new BindingValue( fallbackValue.HasValue ? BindingValueType.DataValidationErrorWithFallback : BindingValueType.DataValidationError, - fallbackValue.HasValue ? fallbackValue.Value : default, + fallbackValue.HasValue ? fallbackValue.Value : default!, e); } diff --git a/src/Avalonia.Base/Data/Optional.cs b/src/Avalonia.Base/Data/Optional.cs index dd952c895c..cc064e0faa 100644 --- a/src/Avalonia.Base/Data/Optional.cs +++ b/src/Avalonia.Base/Data/Optional.cs @@ -60,7 +60,7 @@ namespace Avalonia.Data /// Casts the value (if any) to an . /// /// The cast optional value. - public Optional ToObject() => HasValue ? new Optional(_value) : default; + public Optional ToObject() => HasValue ? new Optional(_value!) : default; /// public override string ToString() => HasValue ? _value?.ToString() ?? "(null)" : "(empty)"; @@ -69,7 +69,7 @@ namespace Avalonia.Data /// Gets the value if present, otherwise the default value. /// /// The value. - public T GetValueOrDefault() => HasValue ? _value : default; + public T GetValueOrDefault() => HasValue ? _value : default!; /// /// Gets the value if present, otherwise a default value. @@ -88,8 +88,8 @@ namespace Avalonia.Data public TResult GetValueOrDefault() { return HasValue ? - _value is TResult result ? result : default - : default; + _value is TResult result ? result : default! + : default!; } /// @@ -104,7 +104,7 @@ namespace Avalonia.Data public TResult GetValueOrDefault(TResult defaultValue) { return HasValue ? - _value is TResult result ? result : default + _value is TResult result ? result : default! : defaultValue; } diff --git a/src/Avalonia.Base/DirectPropertyBase.cs b/src/Avalonia.Base/DirectPropertyBase.cs index 0e65379abd..b59e86f8d5 100644 --- a/src/Avalonia.Base/DirectPropertyBase.cs +++ b/src/Avalonia.Base/DirectPropertyBase.cs @@ -122,7 +122,7 @@ namespace Avalonia internal override object RouteGetBaseValue(IAvaloniaObject o, BindingPriority maxPriority) { - return o.GetValue(this); + return o.GetValue(this)!; } /// diff --git a/src/Avalonia.Base/IStyledPropertyMetadata.cs b/src/Avalonia.Base/IStyledPropertyMetadata.cs index f567cd930c..a68b65e5e0 100644 --- a/src/Avalonia.Base/IStyledPropertyMetadata.cs +++ b/src/Avalonia.Base/IStyledPropertyMetadata.cs @@ -1,5 +1,3 @@ -using System; - namespace Avalonia { /// diff --git a/src/Avalonia.Base/PropertyStore/LocalValueEntry.cs b/src/Avalonia.Base/PropertyStore/LocalValueEntry.cs index 59c017bc09..5d3930469d 100644 --- a/src/Avalonia.Base/PropertyStore/LocalValueEntry.cs +++ b/src/Avalonia.Base/PropertyStore/LocalValueEntry.cs @@ -15,11 +15,11 @@ namespace Avalonia.PropertyStore public LocalValueEntry(T value) => _value = value; public BindingPriority Priority => BindingPriority.LocalValue; - Optional IValue.GetValue() => new Optional(_value); + Optional IValue.GetValue() => new Optional(_value!); public Optional GetValue(BindingPriority maxPriority) { - return BindingPriority.LocalValue >= maxPriority ? _value : Optional.Empty; + return BindingPriority.LocalValue >= maxPriority ? _value! : Optional.Empty; } public void SetValue(T value) => _value = value; diff --git a/src/Avalonia.Base/StyledPropertyMetadata`1.cs b/src/Avalonia.Base/StyledPropertyMetadata`1.cs index 300548db0a..cf0a0c34ec 100644 --- a/src/Avalonia.Base/StyledPropertyMetadata`1.cs +++ b/src/Avalonia.Base/StyledPropertyMetadata`1.cs @@ -1,5 +1,4 @@ using System; -using System.Diagnostics; using Avalonia.Data; namespace Avalonia @@ -35,7 +34,7 @@ namespace Avalonia /// /// Gets the value coercion callback, if any. /// - public Func? CoerceValue { get; private set; } + public Func CoerceValue { get; private set; } object IStyledPropertyMetadata.DefaultValue => DefaultValue; diff --git a/src/Avalonia.Base/ValueStore.cs b/src/Avalonia.Base/ValueStore.cs index 05e66f2e0a..0e87a1f242 100644 --- a/src/Avalonia.Base/ValueStore.cs +++ b/src/Avalonia.Base/ValueStore.cs @@ -162,7 +162,7 @@ namespace Avalonia _sink.ValueChanged(new AvaloniaPropertyChangedEventArgs( _owner, property, - old, + old!, default, BindingPriority.Unset)); }