add VersionedSerialization + source generator

This commit is contained in:
LukeFZ
2024-08-13 04:27:23 +02:00
parent 30c019c4ef
commit 22ecdc3612
25 changed files with 1585 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
namespace VersionedSerialization.Attributes;
#pragma warning disable CS9113 // Parameter is unread.
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
public class AlignedAttribute(int alignment) : Attribute;
#pragma warning restore CS9113 // Parameter is unread.

View File

@@ -0,0 +1,6 @@
namespace VersionedSerialization.Attributes;
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
#pragma warning disable CS9113 // Parameter is unread.
public class CustomSerializationAttribute(string methodName, string sizeExpression) : Attribute;
#pragma warning restore CS9113 // Parameter is unread.

View File

@@ -0,0 +1,11 @@
namespace VersionedSerialization.Attributes;
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = true)]
public class VersionConditionAttribute : Attribute
{
public string LessThan { get; set; } = "";
public string GreaterThan { get; set; } = "";
public string EqualTo { get; set; } = "";
public string IncludingTag { get; set; } = "";
public string ExcludingTag { get; set; } = "";
}

View File

@@ -0,0 +1,4 @@
namespace VersionedSerialization.Attributes;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct)]
public class VersionedStructAttribute : Attribute;