From 50ca4b57510fdd0ac5259a5cc8f35f0d070d73e6 Mon Sep 17 00:00:00 2001 From: Marko Lahma Date: Thu, 26 Sep 2024 20:49:25 +0300 Subject: [PATCH] Fix some NET 9 SDK analysis warnings --- YamlDotNet/Core/Emitter.cs | 2 +- YamlDotNet/Core/ParserExtensions.cs | 10 +++------- YamlDotNet/Core/Scanner.cs | 6 +++--- YamlDotNet/Helpers/ExpressionExtensions.cs | 10 ++-------- YamlDotNet/RepresentationModel/LibYamlEventStream.cs | 8 ++++---- .../YamlNodeIdentityEqualityComparer.cs | 2 +- YamlDotNet/RepresentationModel/YamlVisitor.cs | 5 +---- YamlDotNet/RepresentationModel/YamlVisitorBase.cs | 5 +---- .../NodeDeserializers/CollectionNodeDeserializer.cs | 2 +- .../StaticDictionaryNodeDeserializer.cs | 3 +-- YamlDotNet/Serialization/YamlAttributeOverrides.cs | 3 +-- YamlDotNet/YamlDotNet.csproj | 3 +-- 12 files changed, 20 insertions(+), 39 deletions(-) diff --git a/YamlDotNet/Core/Emitter.cs b/YamlDotNet/Core/Emitter.cs index 01824d10b..04cf9f887 100644 --- a/YamlDotNet/Core/Emitter.cs +++ b/YamlDotNet/Core/Emitter.cs @@ -1604,7 +1604,7 @@ private void EmitBlockSequenceItem(ParsingEvent evt, bool isFirst) { if (isFirst) { - IncreaseIndent(false, (isMappingContext && !isIndentation)); + IncreaseIndent(false, isMappingContext && !isIndentation); } if (evt is SequenceEnd) diff --git a/YamlDotNet/Core/ParserExtensions.cs b/YamlDotNet/Core/ParserExtensions.cs index 188005197..66ebad43e 100644 --- a/YamlDotNet/Core/ParserExtensions.cs +++ b/YamlDotNet/Core/ParserExtensions.cs @@ -71,11 +71,7 @@ public static T Require(this IParser parser) where T : ParsingEvent { if (!parser.Accept(out var required)) { - var @event = parser.Current; - if (@event == null) - { - throw new YamlException($"Expected '{typeof(T).Name}', got nothing."); - } + var @event = parser.Current ?? throw new YamlException($"Expected '{typeof(T).Name}', got nothing."); throw new YamlException(@event.Start, @event.End, $"Expected '{typeof(T).Name}', got '{@event.GetType().Name}' (at {@event.Start})."); } return required; @@ -197,8 +193,8 @@ public static bool TryFindMappingEntry(this IParser parser, Func s parser.SkipThisAndNestedEvents(); break; - case MappingStart _: - case SequenceStart _: + case MappingStart: + case SequenceStart: parser.SkipThisAndNestedEvents(); break; default: diff --git a/YamlDotNet/Core/Scanner.cs b/YamlDotNet/Core/Scanner.cs index 291997b88..f3a13b5e8 100644 --- a/YamlDotNet/Core/Scanner.cs +++ b/YamlDotNet/Core/Scanner.cs @@ -1943,7 +1943,7 @@ private Scalar ScanFlowScalar(bool isSingleQuoted) { throw new SyntaxErrorException(start, cursor.Mark(), "While scanning a quoted scalar, did not find expected hexadecimal number."); } - character = ((character << 4) + analyzer.AsHex(k)); + character = (character << 4) + analyzer.AsHex(k); } // Check the value and write the character. @@ -1979,7 +1979,7 @@ private Scalar ScanFlowScalar(bool isSingleQuoted) { throw new SyntaxErrorException(start, cursor.Mark(), "While scanning a quoted scalar, did not find expected hexadecimal number."); } - lowSurrogate = ((lowSurrogate << 4) + analyzer.AsHex(k)); + lowSurrogate = (lowSurrogate << 4) + analyzer.AsHex(k); } for (var k = 0; k < codeLength; ++k) @@ -2693,7 +2693,7 @@ private void SaveSimpleKey() // level. - var isRequired = (flowLevel == 0 && indent == cursor.LineOffset); + var isRequired = flowLevel == 0 && indent == cursor.LineOffset; // A simple key is required only when it is the first token in the current diff --git a/YamlDotNet/Helpers/ExpressionExtensions.cs b/YamlDotNet/Helpers/ExpressionExtensions.cs index fb207a6da..d526f46ba 100644 --- a/YamlDotNet/Helpers/ExpressionExtensions.cs +++ b/YamlDotNet/Helpers/ExpressionExtensions.cs @@ -37,17 +37,11 @@ public static class ExpressionExtensions /// public static PropertyInfo AsProperty(this LambdaExpression propertyAccessor) { - var property = TryGetMemberExpression(propertyAccessor); - if (property == null) - { - throw new ArgumentException("Expected a lambda expression in the form: x => x.SomeProperty", nameof(propertyAccessor)); - } - + var property = TryGetMemberExpression(propertyAccessor) ?? throw new ArgumentException("Expected a lambda expression in the form: x => x.SomeProperty", nameof(propertyAccessor)); return property; } - [return: MaybeNull] - private static TMemberInfo TryGetMemberExpression(LambdaExpression lambdaExpression) + private static TMemberInfo? TryGetMemberExpression(LambdaExpression lambdaExpression) where TMemberInfo : MemberInfo { if (lambdaExpression.Parameters.Count != 1) diff --git a/YamlDotNet/RepresentationModel/LibYamlEventStream.cs b/YamlDotNet/RepresentationModel/LibYamlEventStream.cs index 9a026619d..1223ec3ab 100644 --- a/YamlDotNet/RepresentationModel/LibYamlEventStream.cs +++ b/YamlDotNet/RepresentationModel/LibYamlEventStream.cs @@ -66,7 +66,7 @@ public void WriteTo(TextWriter textWriter) textWriter.Write(" ---"); } break; - case MappingEnd _: + case MappingEnd: textWriter.Write("-MAP"); break; case MappingStart mappingStart: @@ -99,17 +99,17 @@ public void WriteTo(TextWriter textWriter) } } break; - case SequenceEnd _: + case SequenceEnd: textWriter.Write("-SEQ"); break; case SequenceStart sequenceStart: textWriter.Write("+SEQ"); WriteAnchorAndTag(textWriter, sequenceStart); break; - case StreamEnd _: + case StreamEnd: textWriter.Write("-STR"); break; - case StreamStart _: + case StreamStart: textWriter.Write("+STR"); break; } diff --git a/YamlDotNet/RepresentationModel/YamlNodeIdentityEqualityComparer.cs b/YamlDotNet/RepresentationModel/YamlNodeIdentityEqualityComparer.cs index 47744c806..c72efedaf 100644 --- a/YamlDotNet/RepresentationModel/YamlNodeIdentityEqualityComparer.cs +++ b/YamlDotNet/RepresentationModel/YamlNodeIdentityEqualityComparer.cs @@ -32,7 +32,7 @@ public sealed class YamlNodeIdentityEqualityComparer : IEqualityComparer Members /// - public bool Equals([AllowNull] YamlNode x, [AllowNull] YamlNode y) + public bool Equals(YamlNode? x, YamlNode? y) { return ReferenceEquals(x, y); } diff --git a/YamlDotNet/RepresentationModel/YamlVisitor.cs b/YamlDotNet/RepresentationModel/YamlVisitor.cs index 0514fa5ae..59c9d153a 100644 --- a/YamlDotNet/RepresentationModel/YamlVisitor.cs +++ b/YamlDotNet/RepresentationModel/YamlVisitor.cs @@ -161,10 +161,7 @@ protected virtual void VisitChildren(YamlStream stream) /// protected virtual void VisitChildren(YamlDocument document) { - if (document.RootNode != null) - { - document.RootNode.Accept(this); - } + document.RootNode?.Accept(this); } /// diff --git a/YamlDotNet/RepresentationModel/YamlVisitorBase.cs b/YamlDotNet/RepresentationModel/YamlVisitorBase.cs index 088526e0f..9d1882ab6 100644 --- a/YamlDotNet/RepresentationModel/YamlVisitorBase.cs +++ b/YamlDotNet/RepresentationModel/YamlVisitorBase.cs @@ -114,10 +114,7 @@ protected virtual void VisitChildren(YamlStream stream) /// protected virtual void VisitChildren(YamlDocument document) { - if (document.RootNode != null) - { - document.RootNode.Accept(this); - } + document.RootNode?.Accept(this); } /// diff --git a/YamlDotNet/Serialization/NodeDeserializers/CollectionNodeDeserializer.cs b/YamlDotNet/Serialization/NodeDeserializers/CollectionNodeDeserializer.cs index 289626d67..4ca2f687a 100644 --- a/YamlDotNet/Serialization/NodeDeserializers/CollectionNodeDeserializer.cs +++ b/YamlDotNet/Serialization/NodeDeserializers/CollectionNodeDeserializer.cs @@ -47,7 +47,7 @@ public bool Deserialize(IParser parser, Type expectedType, Func))); + var genericCollectionType = expectedType.GetImplementationOfOpenGenericInterface(typeof(ICollection<>)); if (genericCollectionType != null) { var genericArguments = genericCollectionType.GetGenericArguments(); diff --git a/YamlDotNet/Serialization/NodeDeserializers/StaticDictionaryNodeDeserializer.cs b/YamlDotNet/Serialization/NodeDeserializers/StaticDictionaryNodeDeserializer.cs index c5e2bdcdf..c8d26909b 100644 --- a/YamlDotNet/Serialization/NodeDeserializers/StaticDictionaryNodeDeserializer.cs +++ b/YamlDotNet/Serialization/NodeDeserializers/StaticDictionaryNodeDeserializer.cs @@ -39,8 +39,7 @@ public bool Deserialize(IParser reader, Type expectedType, Func> overrides = []; - [return: MaybeNull] - public T GetAttribute(Type type, string member) where T : Attribute + public T? GetAttribute(Type type, string member) where T : Attribute { if (overrides.TryGetValue(new AttributeKey(typeof(T), member), out var mappings)) { diff --git a/YamlDotNet/YamlDotNet.csproj b/YamlDotNet/YamlDotNet.csproj index 292faae21..024334889 100644 --- a/YamlDotNet/YamlDotNet.csproj +++ b/YamlDotNet/YamlDotNet.csproj @@ -61,13 +61,12 @@ $(NoWarn);CA1725 $(NoWarn);CS1061;CA1016 + $(NoWarn);IDE0007 $(NoWarn);IDE0045 $(NoWarn);IDE0046 - $(NoWarn);IDE0047 $(NoWarn);IDE0078 $(NoWarn);IDE0083 $(NoWarn);IDE0090 - $(NoWarn);IDE0110 $(NoWarn);IDE0290