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
/// 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));
}