diff --git a/src/Avalonia.Visuals/Vector.cs b/src/Avalonia.Visuals/Vector.cs index 79c4202be4..810530066f 100644 --- a/src/Avalonia.Visuals/Vector.cs +++ b/src/Avalonia.Visuals/Vector.cs @@ -175,7 +175,7 @@ namespace Avalonia MathUtilities.AreClose(_y, other._y); } - public override bool Equals(object obj) => obj is Vector other && Equals(other); + public override bool Equals(object? obj) => obj is Vector other && Equals(other); public override int GetHashCode() { diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs index a191dc59fb..1ca7be67a7 100644 --- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs +++ b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlCompiler.cs @@ -14,7 +14,6 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions { class AvaloniaXamlIlCompiler : XamlILCompiler { - private readonly TransformerConfiguration _configuration; private readonly IXamlType _contextType; private readonly AvaloniaXamlIlDesignPropertiesTransformer _designTransformer; private readonly AvaloniaBindingExtensionTransformer _bindingTransformer; @@ -22,8 +21,6 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions private AvaloniaXamlIlCompiler(TransformerConfiguration configuration, XamlLanguageEmitMappings emitMappings) : base(configuration, emitMappings, true) { - _configuration = configuration; - void InsertAfter(params IXamlAstTransformer[] t) => Transformers.InsertRange(Transformers.FindIndex(x => x is T) + 1, t); diff --git a/src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs b/src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs index 250eca1852..bf11a02fee 100644 --- a/src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs +++ b/src/Markup/Avalonia.Markup/Markup/Parsers/PropertyPathGrammar.cs @@ -184,6 +184,9 @@ namespace Avalonia.Markup.Parsers } + // Don't need to override GetHashCode as the ISyntax objects will not be stored in a hash; the + // only reason they have overridden Equals methods is for unit testing. +#pragma warning disable CS0659 // Type overrides Object.Equals(object o) but does not override Object.GetHashCode() public class PropertySyntax : ISyntax { public string Name { get; set; } = string.Empty; @@ -205,7 +208,7 @@ namespace Avalonia.Markup.Parsers && other.TypeName == TypeName && other.TypeNamespace == TypeNamespace; } - + public class ChildTraversalSyntax : ISyntax { public static ChildTraversalSyntax Instance { get; } = new ChildTraversalSyntax(); @@ -231,5 +234,6 @@ namespace Avalonia.Markup.Parsers && other.TypeName == TypeName && other.TypeNamespace == TypeNamespace; } +#pragma warning restore CS0659 // Type overrides Object.Equals(object o) but does not override Object.GetHashCode() } }