From 8653c0e4d116b161a89b1e184016fa0d6d53ef32 Mon Sep 17 00:00:00 2001 From: hadashiA Date: Fri, 1 Mar 2024 15:20:26 +0900 Subject: [PATCH 1/4] Add validation to prevent `VersionTorelant` for Union base type. --- src/MemoryPack.Generator/DiagnosticDescriptors.cs | 8 ++++++++ src/MemoryPack.Generator/Extensions.cs | 11 ++++++++++- .../MemoryPackGenerator.Parser.cs | 6 ++++++ tests/MemoryPack.Tests/Models/Union.cs | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/MemoryPack.Generator/DiagnosticDescriptors.cs b/src/MemoryPack.Generator/DiagnosticDescriptors.cs index c3fd0603..9faf9f8e 100644 --- a/src/MemoryPack.Generator/DiagnosticDescriptors.cs +++ b/src/MemoryPack.Generator/DiagnosticDescriptors.cs @@ -316,4 +316,12 @@ internal static class DiagnosticDescriptors category: Category, defaultSeverity: DiagnosticSeverity.Error, isEnabledByDefault: true); + + public static readonly DiagnosticDescriptor GenerateTypeCannotSpeciyToUnionBaseType = new( + id: "MEMPACK039", + title: "GenerateType cannot be specified for the Union base type itself", + messageFormat: "The MemoryPackable object '{0}' cannot specify '{1}'. Because it is Union base type.", + category: Category, + defaultSeverity: DiagnosticSeverity.Error, + isEnabledByDefault: true); } diff --git a/src/MemoryPack.Generator/Extensions.cs b/src/MemoryPack.Generator/Extensions.cs index bb3cd574..27d0aea8 100644 --- a/src/MemoryPack.Generator/Extensions.cs +++ b/src/MemoryPack.Generator/Extensions.cs @@ -92,7 +92,16 @@ public static bool TryGetMemoryPackableType(this ITypeSymbol symbol, ReferenceSy serializeLayout = SerializeLayout.Sequential; return false; } - else if (packableCtorArgs.Value.Length != 0) + + var memPackUnionFormatterAttr = symbol.GetAttribute(references.MemoryPackUnionFormatterAttribute); + if (memPackUnionFormatterAttr != null) + { + generateType = GenerateType.Union; + serializeLayout = SerializeLayout.Sequential; + return false; + } + + if (packableCtorArgs.Value.Length != 0) { // MemoryPackable has three attribtues // [GenerateType generateType] diff --git a/src/MemoryPack.Generator/MemoryPackGenerator.Parser.cs b/src/MemoryPack.Generator/MemoryPackGenerator.Parser.cs index e7379fad..7514d236 100644 --- a/src/MemoryPack.Generator/MemoryPackGenerator.Parser.cs +++ b/src/MemoryPack.Generator/MemoryPackGenerator.Parser.cs @@ -534,6 +534,12 @@ public bool Validate(TypeDeclarationSyntax syntax, IGeneratorContext context, bo noError = false; } + if (GenerateType != GenerateType.Union) + { + context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.GenerateTypeCannotSpeciyToUnionBaseType, syntax.Identifier.GetLocation(), Symbol.Name, GenerateType)); + noError = false; + } + if (UnionTags.Select(x => x.Tag).HasDuplicate()) { context.ReportDiagnostic(Diagnostic.Create(DiagnosticDescriptors.UnionTagDuplicate, syntax.Identifier.GetLocation(), Symbol.Name)); diff --git a/tests/MemoryPack.Tests/Models/Union.cs b/tests/MemoryPack.Tests/Models/Union.cs index 83dea6a3..2bf8b3f7 100644 --- a/tests/MemoryPack.Tests/Models/Union.cs +++ b/tests/MemoryPack.Tests/Models/Union.cs @@ -144,6 +144,7 @@ public partial class ForExternalUnionFormatter3 public partial class NoraType { public IForExternalUnion? ExtUnion { get; set; } + public UnionAbstractClass? AbstractUnion { get; set; } } // Union for record From 3b5f5b3987255e3cfffc074609cbed89b968c6d8 Mon Sep 17 00:00:00 2001 From: hadashiA Date: Fri, 1 Mar 2024 15:29:42 +0900 Subject: [PATCH 2/4] Update unity assets --- .../MemoryPack.Generator.Roslyn3.dll | Bin 122368 -> 126464 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/MemoryPack.Unity/Assets/Plugins/MemoryPack/Runtime/MemoryPack.Generator/MemoryPack.Generator.Roslyn3.dll b/src/MemoryPack.Unity/Assets/Plugins/MemoryPack/Runtime/MemoryPack.Generator/MemoryPack.Generator.Roslyn3.dll index 50a20fe20734143b7bbdc20f247ddf9ff1b97835..8beee2b5ba477705e855f3d0fd6510adbceb0567 100644 GIT binary patch literal 126464 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%0A`CkdW|(J*%O`NhZPmja0V_wg0n4; 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 f Date: Fri, 1 Mar 2024 15:46:13 +0900 Subject: [PATCH 3/4] Fix test --- src/MemoryPack.Generator/Extensions.cs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/MemoryPack.Generator/Extensions.cs b/src/MemoryPack.Generator/Extensions.cs index 27d0aea8..7c64f7cb 100644 --- a/src/MemoryPack.Generator/Extensions.cs +++ b/src/MemoryPack.Generator/Extensions.cs @@ -86,17 +86,11 @@ public static bool TryGetMemoryPackableType(this ITypeSymbol symbol, ReferenceSy var packableCtorArgs = memPackAttr?.ConstructorArguments; generateType = GenerateType.Object; serializeLayout = SerializeLayout.Sequential; - if (memPackAttr == null || packableCtorArgs == null) - { - generateType = GenerateType.NoGenerate; - serializeLayout = SerializeLayout.Sequential; - return false; - } - var memPackUnionFormatterAttr = symbol.GetAttribute(references.MemoryPackUnionFormatterAttribute); - if (memPackUnionFormatterAttr != null) + if (memPackAttr == null || packableCtorArgs == null) { - generateType = GenerateType.Union; + var memPackUnionFormatterAttr = symbol.GetAttribute(references.MemoryPackUnionFormatterAttribute); + generateType = memPackUnionFormatterAttr != null ? GenerateType.Union : GenerateType.NoGenerate; serializeLayout = SerializeLayout.Sequential; return false; } From 820830bcee96c98c5b0dde366ac7851cc52a6c79 Mon Sep 17 00:00:00 2001 From: hadashiA Date: Thu, 14 Mar 2024 12:13:39 +0900 Subject: [PATCH 4/4] Fix unity build --- .../Assets/Scripts/MemoryPackObjects/MemberKinds.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/MemoryPack.Unity/Assets/Scripts/MemoryPackObjects/MemberKinds.cs b/src/MemoryPack.Unity/Assets/Scripts/MemoryPackObjects/MemberKinds.cs index bc5696e3..25a37ec9 100644 --- a/src/MemoryPack.Unity/Assets/Scripts/MemoryPackObjects/MemberKinds.cs +++ b/src/MemoryPack.Unity/Assets/Scripts/MemoryPackObjects/MemberKinds.cs @@ -38,6 +38,12 @@ public partial class MemberKindsAllUnmanaged int[] kArray = new int[1]; + public MemberKindsAllUnmanaged(int c, int d) + { + this.C = c; + this.D = d; + } + public ref int K { get { return ref kArray[0]; }