From c4378b5509ebdb7a0160b3554997e71a49ae1867 Mon Sep 17 00:00:00 2001 From: Anna Sas Date: Tue, 7 Jan 2025 19:44:01 +0100 Subject: [PATCH] Feat: Package is working again --- .../AterraEngine.Unions.Generators.csproj | 17 +- .../AterraEngine.Unions.csproj | 10 +- src/AterraEngine.Unions/NullableAttributes.cs | 163 ------------------ ...ests.AterraEngine.Unions.Generators.csproj | 4 +- .../Tests.AterraEngine.Unions.csproj | 2 +- .../UnionExtraAttributeTest.cs | 21 --- 6 files changed, 14 insertions(+), 203 deletions(-) delete mode 100644 src/AterraEngine.Unions/NullableAttributes.cs delete mode 100644 tests/Tests.AterraEngine.Unions/UnionExtraAttributeTest.cs diff --git a/src/AterraEngine.Unions.Generators/AterraEngine.Unions.Generators.csproj b/src/AterraEngine.Unions.Generators/AterraEngine.Unions.Generators.csproj index e5aeae9..30798fc 100644 --- a/src/AterraEngine.Unions.Generators/AterraEngine.Unions.Generators.csproj +++ b/src/AterraEngine.Unions.Generators/AterraEngine.Unions.Generators.csproj @@ -6,13 +6,14 @@ enable latest + true true true true false NU5128 - true + AterraEngine.Unions.Generators 3.4.0 Anna Sas @@ -28,22 +29,24 @@ icon.png + + - - - - + + + + - - + + \ No newline at end of file diff --git a/src/AterraEngine.Unions/AterraEngine.Unions.csproj b/src/AterraEngine.Unions/AterraEngine.Unions.csproj index f3b2206..1653523 100644 --- a/src/AterraEngine.Unions/AterraEngine.Unions.csproj +++ b/src/AterraEngine.Unions/AterraEngine.Unions.csproj @@ -1,7 +1,7 @@  - net8.0;net9.0;netstandard2.0 + net9.0 enable enable latest @@ -32,12 +32,4 @@ - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - diff --git a/src/AterraEngine.Unions/NullableAttributes.cs b/src/AterraEngine.Unions/NullableAttributes.cs deleted file mode 100644 index 3288d38..0000000 --- a/src/AterraEngine.Unions/NullableAttributes.cs +++ /dev/null @@ -1,163 +0,0 @@ -// Licensed to the .NET Foundation under one or more agreements. -// The .NET Foundation licenses this file to you under the MIT license. -// See the LICENSE file in the project root for more information. - -// This was copied from https://github.com/dotnet/runtime/blob/39b9607807f29e48cae4652cd74735182b31182e/src/libraries/System.Private.CoreLib/src/System/Diagnostics/CodeAnalysis/NullableAttributes.cs -// and updated to have the scope of the attributes be internal. - -#if NETSTANDARD2_0_OR_GREATER -// ReSharper disable once CheckNamespace -// ReSharper disable UnusedAutoPropertyAccessor.Global -// ReSharper disable UnusedType.Global -namespace System.Diagnostics.CodeAnalysis; - -#if !NETCOREAPP - -/// Specifies that null is allowed as an input even if the corresponding type disallows it. -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property)] -internal sealed class AllowNullAttribute : Attribute; - -/// Specifies that null is disallowed as an input even if the corresponding type allows it. -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property)] -internal sealed class DisallowNullAttribute : Attribute; - -/// Specifies that an output may be null even if the corresponding type disallows it. -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)] -internal sealed class MaybeNullAttribute : Attribute; - -/// Specifies that an output will not be null even if the corresponding type allows it. -[AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue)] -internal sealed class NotNullAttribute : Attribute; - -/// -/// Specifies that when a method returns , the parameter may be null even if the -/// corresponding type disallows it. -/// -[AttributeUsage(AttributeTargets.Parameter)] -internal sealed class MaybeNullWhenAttribute : Attribute { - /// Initializes the attribute with the specified return value condition. - /// - /// The return value condition. If the method returns this value, the associated parameter may be null. - /// - public MaybeNullWhenAttribute(bool returnValue) { - ReturnValue = returnValue; - } - /// Gets the return value condition. - public bool ReturnValue { get; } -} - -/// -/// Specifies that when a method returns , the parameter will not be null even if the -/// corresponding type allows it. -/// -[AttributeUsage(AttributeTargets.Parameter)] -internal sealed class NotNullWhenAttribute : Attribute { - /// Initializes the attribute with the specified return value condition. - /// - /// The return value condition. If the method returns this value, the associated parameter will not be null. - /// - public NotNullWhenAttribute(bool returnValue) { - ReturnValue = returnValue; - } - /// Gets the return value condition. - public bool ReturnValue { get; } -} - -/// Specifies that the output will be non-null if the named parameter is non-null. -[AttributeUsage(AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue, AllowMultiple = true)] -internal sealed class NotNullIfNotNullAttribute : Attribute { - /// Initializes the attribute with the associated parameter name. - /// - /// The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null. - /// - public NotNullIfNotNullAttribute(string parameterName) { - ParameterName = parameterName; - } - /// Gets the associated parameter name. - public string ParameterName { get; } -} - -/// Applied to a method that will never return under any circumstance. -[AttributeUsage(AttributeTargets.Method, Inherited = false)] -internal sealed class DoesNotReturnAttribute : Attribute; - -/// Specifies that the method will not return if the associated Boolean parameter is passed the specified value. -[AttributeUsage(AttributeTargets.Parameter)] -internal sealed class DoesNotReturnIfAttribute : Attribute { - /// Initializes the attribute with the specified parameter value. - /// - /// The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument - /// to - /// the associated parameter matches this value. - /// - public DoesNotReturnIfAttribute(bool parameterValue) { - ParameterValue = parameterValue; - } - /// Gets the condition parameter value. - public bool ParameterValue { get; } -} - -#endif - -#if !NETCOREAPP - -/// -/// Specifies that the method or property will ensure that the listed field and property members have not-null -/// values. -/// -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inherited = false, AllowMultiple = true)] -internal sealed class MemberNotNullAttribute : Attribute { - /// Initializes the attribute with a field or property member. - /// - /// The field or property member that is promised to be not-null. - /// - public MemberNotNullAttribute(string member) { - Members = [member]; - } - /// Initializes the attribute with the list of field and property members. - /// - /// The list of field and property members that are promised to be not-null. - /// - public MemberNotNullAttribute(params string[] members) { - Members = members; - } - /// Gets field or property member names. - public string[] Members { get; } -} - -/// -/// Specifies that the method or property will ensure that the listed field and property members have not-null -/// values when returning with the specified return value condition. -/// -[AttributeUsage(AttributeTargets.Method | AttributeTargets.Property, Inherited = false, AllowMultiple = true)] -internal sealed class MemberNotNullWhenAttribute : Attribute { - /// Initializes the attribute with the specified return value condition and a field or property member. - /// - /// The return value condition. If the method returns this value, the associated parameter will not be null. - /// - /// - /// The field or property member that is promised to be not-null. - /// - public MemberNotNullWhenAttribute(bool returnValue, string member) { - ReturnValue = returnValue; - Members = [member]; - } - /// Initializes the attribute with the specified return value condition and list of field and property members. - /// - /// The return value condition. If the method returns this value, the associated parameter will not be null. - /// - /// - /// The list of field and property members that are promised to be not-null. - /// - public MemberNotNullWhenAttribute(bool returnValue, params string[] members) { - ReturnValue = returnValue; - Members = members; - } - /// Gets the return value condition. - public bool ReturnValue { get; } - /// Gets field or property member names. - public string[] Members { get; } -} - -#endif -#endif diff --git a/tests/Tests.AterraEngine.Unions.Generators/Tests.AterraEngine.Unions.Generators.csproj b/tests/Tests.AterraEngine.Unions.Generators/Tests.AterraEngine.Unions.Generators.csproj index 2b75b70..a19ab66 100644 --- a/tests/Tests.AterraEngine.Unions.Generators/Tests.AterraEngine.Unions.Generators.csproj +++ b/tests/Tests.AterraEngine.Unions.Generators/Tests.AterraEngine.Unions.Generators.csproj @@ -1,7 +1,7 @@ - net8.0;net9.0;netstandard2.0 + net9.0 enable enable @@ -9,7 +9,7 @@ - + all diff --git a/tests/Tests.AterraEngine.Unions/Tests.AterraEngine.Unions.csproj b/tests/Tests.AterraEngine.Unions/Tests.AterraEngine.Unions.csproj index 0e937de..bf50e0d 100644 --- a/tests/Tests.AterraEngine.Unions/Tests.AterraEngine.Unions.csproj +++ b/tests/Tests.AterraEngine.Unions/Tests.AterraEngine.Unions.csproj @@ -1,7 +1,7 @@ - net8.0;net9.0;netstandard2.0 + net9.0 enable enable diff --git a/tests/Tests.AterraEngine.Unions/UnionExtraAttributeTest.cs b/tests/Tests.AterraEngine.Unions/UnionExtraAttributeTest.cs deleted file mode 100644 index 61a7619..0000000 --- a/tests/Tests.AterraEngine.Unions/UnionExtraAttributeTest.cs +++ /dev/null @@ -1,21 +0,0 @@ -// --------------------------------------------------------------------------------------------------------------------- -// Imports -// --------------------------------------------------------------------------------------------------------------------- -using AterraEngine.Unions; - -namespace Tests.AterraEngine.Unions; -// --------------------------------------------------------------------------------------------------------------------- -// Code -// --------------------------------------------------------------------------------------------------------------------- -public class UnionExtraAttributeTest { - - [Test] - [Arguments(UnionExtra.GenerateFrom)] - public async Task UnionExtraAttribute_ShouldHaveCorrectEnum(UnionExtra extra) { - // Arrange & Act - var attribute = new UnionExtraAttribute(extra); - - // Assert - await Assert.That(attribute.Extra).IsEqualTo(extra); - } -}