From e094b5c47df6eb0dedf41f5b113d4eaccb969861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Sun, 8 Jan 2023 19:33:34 +0100 Subject: [PATCH] feat(packets): prevent duplicit usings inside source generator --- .../PacketConverterGenerator.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Packets/NosSmooth.PacketSerializersGenerator/PacketConverterGenerator.cs b/Packets/NosSmooth.PacketSerializersGenerator/PacketConverterGenerator.cs index 91b89bcfc0fe9895f5cebcbd4c5e38c0afcf3b5a..733f03104d19333fd0f3efd6a02cff5ab7c75169 100644 --- a/Packets/NosSmooth.PacketSerializersGenerator/PacketConverterGenerator.cs +++ b/Packets/NosSmooth.PacketSerializersGenerator/PacketConverterGenerator.cs @@ -41,18 +41,21 @@ public class PacketConverterGenerator { var usings = _packetInfo.PacketRecord.SyntaxTree.GetRoot() .DescendantNodes() - .OfType(); - var usingsString = string.Join("\n", usings.Select(x => x.ToString())); + .OfType() + .Select(x => x.ToString()) + .ToList(); + usings.Add($"using {_packetInfo.Namespace};"); + usings.Add("using NosSmooth.PacketSerializer.Abstractions.Errors;"); + usings.Add("using NosSmooth.PacketSerializer.Abstractions;"); + usings.Add("using Remora.Results;"); + + var usingsString = string.Join("\n", usings.Distinct()); textWriter.WriteLine ( @$"// #nullable enable #pragma warning disable 1591 -using {_packetInfo.Namespace}; -using NosSmooth.PacketSerializer.Abstractions.Errors; -using NosSmooth.PacketSerializer.Abstractions; -using Remora.Results; {usingsString} namespace {_packetInfo.Namespace}.Generated;