Files
RobustToolbox/Robust.Shared/Serialization/ISerializationGenerated.cs
T
34ce2ba534 serv5 (#6496)
* Add source generator for DataDefinition validation

* Add source generator for reading

* Add source generator for writing

* Include prototypes and other meansdatadefinition types

* Target ISerializationGenerated in data definitions

* Murder

* Use array, struct, enum methods

* Source generate get field definitions

* serv5

* Fix and pray

* Fix release compile

* Tayrtahn review

* a

* Generator bugfix

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2026-07-08 22:18:35 +10:00

107 lines
3.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using Robust.Shared.Serialization.Manager;
using Robust.Shared.Serialization.Manager.Definition;
using Robust.Shared.Serialization.Markdown;
using Robust.Shared.Serialization.Markdown.Mapping;
using Robust.Shared.Serialization.Markdown.Validation;
#pragma warning disable CS0612 // Type or member is obsolete
namespace Robust.Shared.Serialization;
public interface ISerializationGenerated<T> : ISerializationGenerated
{
/// <seealso cref="ISerializationManager.CreateCopy"/>
[Obsolete("Use ISerializationManager.CreateCopy instead")]
T Instantiate();
/// <seealso cref="ISerializationManager.CreateCopy"/>
[Obsolete("Use ISerializationManager.CreateCopy instead")]
static virtual T StaticInstantiate()
{
throw new NotImplementedException();
}
/// <seealso cref="ISerializationManager.CreateCopy"/>
[Obsolete("Use ISerializationManager.CreateCopy instead")]
static virtual object StaticInstantiateObject()
{
throw new NotImplementedException();
}
/// <seealso cref="ISerializationManager.CopyTo"/>
[Obsolete("Use ISerializationManager.CopyTo instead")]
void Copy(
ref T target,
ISerializationManager serialization,
SerializationHookContext hookCtx,
ISerializationContext? context = null);
/// <seealso cref="ISerializationManager.Read"/>
[Obsolete("Use ISerializationManager.Read instead")]
static virtual void Read(
ref T target,
MappingDataNode mappingDataNode,
ISerializationManager serialization,
SerializationHookContext hookCtx,
ISerializationContext? context)
{
throw new NotImplementedException();
}
/// <seealso cref="ISerializationManager.Write"/>
[Obsolete("Use ISerializationManager.Write instead")]
static virtual void Write(
T obj,
MappingDataNode mapping,
ISerializationManager serialization,
ISerializationContext? context,
bool alwaysWrite,
ImmutableDictionary<string, object?> defaultValues)
{
throw new NotImplementedException();
}
/// <seealso cref="ISerializationManager.ValidateNode"/>
[Obsolete("Use ISerializationManager.ValidateNode instead")]
static virtual void Validate(
Dictionary<string, ValidationNode> nodes,
MappingDataNode node,
ISerializationManager serialization,
ISerializationContext? context = null)
{
throw new NotImplementedException();
}
[Obsolete("Used only in serialization source generation internally")]
static virtual void GetFieldDefinitions(T? instance, List<DataFieldDefinition> fields, string[]? fieldsParsed = null)
{
throw new NotImplementedException();
}
}
public interface ISerializationGenerated
{
/// <seealso cref="ISerializationManager.CopyTo"/>
[Obsolete("Use ISerializationManager.CopyTo instead")]
void Copy(
ref object target,
ISerializationManager serialization,
SerializationHookContext hookCtx,
ISerializationContext? context = null);
}
[Obsolete("Used only in serialization source generation internally")]
public enum ISerializationGeneratedRead
{
Default = 0
}
[Obsolete("Used only in serialization source generation internally")]
public enum ISerializationGeneratedCopy
{
Default = 0
}