diff --git a/Robust.Serialization.Generator/Generator.cs b/Robust.Serialization.Generator/Generator.cs index 83c3b20dc9..357ee629cf 100644 --- a/Robust.Serialization.Generator/Generator.cs +++ b/Robust.Serialization.Generator/Generator.cs @@ -188,6 +188,7 @@ public class Generator : IIncrementalGenerator builder.AppendLine($$""" // Implicit constructor #pragma warning disable CS8618 + [RobustAutoGenerated] public {{definition.Type.Name}}() #pragma warning restore CS8618 { @@ -218,6 +219,7 @@ public class Generator : IIncrementalGenerator baseCopy = $$""" /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public override void Copy(ref {{baseName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -227,6 +229,7 @@ public class Generator : IIncrementalGenerator } /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public override void Copy(ref object target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -240,6 +243,7 @@ public class Generator : IIncrementalGenerator { baseCopy = $$""" /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public {{modifiers}} void Copy(ref object target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -252,6 +256,7 @@ public class Generator : IIncrementalGenerator builder.AppendLine($$""" /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public {{modifiers}} void InternalCopy(ref {{definition.GenericTypeName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -260,6 +265,7 @@ public class Generator : IIncrementalGenerator } /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public {{modifiers}} void Copy(ref {{definition.GenericTypeName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -278,6 +284,7 @@ public class Generator : IIncrementalGenerator builder.AppendLine($$""" /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public {{interfaceModifiers}} void InternalCopy(ref {{interfaceName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -287,6 +294,7 @@ public class Generator : IIncrementalGenerator } /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CopyTo instead")] public {{interfaceModifiers}} void Copy(ref {{interfaceName}} target, ISerializationManager serialization, SerializationHookContext hookCtx, ISerializationContext? context = null) { @@ -313,6 +321,7 @@ public class Generator : IIncrementalGenerator // TODO make abstract once data definitions are forced to be partial builder.AppendLine($$""" /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CreateCopy instead")] public {{modifiers}} {{definition.GenericTypeName}} Instantiate() { @@ -324,6 +333,7 @@ public class Generator : IIncrementalGenerator { builder.AppendLine($$""" /// + [RobustAutoGenerated] [Obsolete("Use ISerializationManager.CreateCopy instead")] public {{modifiers}} {{definition.GenericTypeName}} Instantiate() { @@ -335,11 +345,13 @@ public class Generator : IIncrementalGenerator foreach (var interfaceName in InternalGetImplicitDataDefinitionInterfaces(definition.Type, false)) { builder.AppendLine($$""" + [RobustAutoGenerated] {{interfaceName}} {{interfaceName}}.Instantiate() { return Instantiate(); } + [RobustAutoGenerated] {{interfaceName}} ISerializationGenerated<{{interfaceName}}>.Instantiate() { return Instantiate(); diff --git a/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs b/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs index e2e7b1958a..422f03bc8e 100644 --- a/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs +++ b/Robust.Shared.CompNetworkGenerator/ComponentNetworkGenerator.cs @@ -612,6 +612,7 @@ public partial class {componentName}{deltaInterface} [System.Serializable, NetSerializable] [global::System.ComponentModel.EditorBrowsable(global::System.ComponentModel.EditorBrowsableState.Never)] + [RobustAutoGenerated] public sealed class {stateName} : IComponentState {{{stateFields} {cloneMethod} diff --git a/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs b/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs index bc37004a85..6ecee23844 100644 --- a/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs +++ b/Robust.Shared/Analyzers/RobustAutoGeneratedAttribute.cs @@ -10,7 +10,7 @@ namespace Robust.Shared.Analyzers; /// Users should never use this attribute themselves, it silences a significant number of useful warnings and is /// meant strictly for generated code. /// -[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface)] +[AttributeUsage(AttributeTargets.All)] public sealed class RobustAutoGeneratedAttribute : Attribute { }