未验证 提交 bff7c3d5 编写于 作者: S Steve Molloy 提交者: GitHub

Revert "Add annotations to System.Private.DataContractSerialization (#73337)" (#73878)

This reverts commit c4ea2caa.
上级 339a6bcc
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>$(NetCoreAppCurrent)</TargetFramework>
<NoWarn>$(NoWarn);1634;1691;649</NoWarn>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- Too much private reflection. Do not bother with trimming -->
<ILLinkTrimAssembly>false</ILLinkTrimAssembly>
<EnableAOTAnalyzer>true</EnableAOTAnalyzer>
</PropertyGroup>
<PropertyGroup>
......
......@@ -27,7 +27,6 @@ internal static class FastInvokerBuilder
[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2060:MakeGenericMethod",
Justification = "The call to MakeGenericMethod is safe due to the fact that we are preserving the constructors of type which is what Make() is doing.")]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static Func<object> GetMakeNewInstanceFunc(
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
Type type)
......@@ -67,9 +66,7 @@ public static Getter CreateGetter(MemberInfo memberInfo)
// Only JIT if dynamic code is supported.
if (RuntimeFeature.IsDynamicCodeSupported || (!declaringType.IsValueType && !propertyType.IsValueType))
{
#pragma warning disable IL3050 // AOT compiling should recognize that this call is gated by RuntimeFeature.IsDynamicCodeSupported
var createGetterGeneric = s_createGetterInternal.MakeGenericMethod(declaringType, propertyType).CreateDelegate<Func<PropertyInfo, Getter>>();
#pragma warning restore IL3050 // Calling members annotated with 'RequiresDynamicCodeAttribute' may break functionality when AOT compiling.
return createGetterGeneric(propInfo);
}
else
......@@ -124,9 +121,7 @@ public static Setter CreateSetter(MemberInfo memberInfo)
// Only JIT if dynamic code is supported.
if (RuntimeFeature.IsDynamicCodeSupported || (!declaringType.IsValueType && !propertyType.IsValueType))
{
#pragma warning disable IL3050 // AOT compiling should recognize that this call is gated by RuntimeFeature.IsDynamicCodeSupported
var createSetterGeneric = s_createSetterInternal.MakeGenericMethod(propInfo.DeclaringType!, propInfo.PropertyType).CreateDelegate<Func<PropertyInfo, Setter>>();
#pragma warning restore IL3050 // Calling members annotated with 'RequiresDynamicCodeAttribute' may break functionality when AOT compiling.
return createSetterGeneric(propInfo);
}
else
......
......@@ -41,14 +41,12 @@ internal sealed class ClassDataContract : DataContract
DynamicallyAccessedMemberTypes.PublicProperties;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal ClassDataContract(Type type) : base(new ClassDataContractCriticalHelper(type))
{
InitClassDataContract();
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private ClassDataContract(Type type, XmlDictionaryString ns, string[] memberNames) : base(new ClassDataContractCriticalHelper(type, ns, memberNames))
{
InitClassDataContract();
......@@ -77,7 +75,6 @@ private void InitClassDataContract()
public XmlDictionaryString?[]? ChildElementNamespaces
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_childElementNamespaces == null)
......@@ -136,7 +133,6 @@ private void InitClassDataContract()
public override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{ return _helper.KnownDataContracts; }
}
......@@ -208,8 +204,6 @@ internal bool IsKeyValuePairAdapter
}
private Func<object>? _makeNewInstance;
[UnconditionalSuppressMessage("AOT Analysis", "IL3050:RequiresDynamicCode",
Justification = "Cannot annotate a field, annotating the usage instead")]
private Func<object> MakeNewInstance => _makeNewInstance ??= FastInvokerBuilder.GetMakeNewInstanceFunc(UnderlyingType);
internal bool CreateNewInstanceViaDefaultConstructor([NotNullWhen(true)] out object? obj)
......@@ -235,7 +229,6 @@ internal bool CreateNewInstanceViaDefaultConstructor([NotNullWhen(true)] out obj
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlFormatClassWriterDelegate CreateXmlFormatWriterDelegate()
{
return new XmlFormatWriterGenerator().GenerateClassWriter(this);
......@@ -244,7 +237,6 @@ private XmlFormatClassWriterDelegate CreateXmlFormatWriterDelegate()
internal XmlFormatClassWriterDelegate XmlFormatWriterDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.XmlFormatWriterDelegate == null)
......@@ -267,7 +259,6 @@ internal XmlFormatClassWriterDelegate XmlFormatWriterDelegate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlFormatClassReaderDelegate CreateXmlFormatReaderDelegate()
{
return new XmlFormatReaderGenerator().GenerateClassReader(this);
......@@ -276,7 +267,6 @@ private XmlFormatClassReaderDelegate CreateXmlFormatReaderDelegate()
internal XmlFormatClassReaderDelegate XmlFormatReaderDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.XmlFormatReaderDelegate == null)
......@@ -299,7 +289,6 @@ internal XmlFormatClassReaderDelegate XmlFormatReaderDelegate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static ClassDataContract CreateClassDataContractForKeyValue(Type type, XmlDictionaryString ns, string[] memberNames)
{
ClassDataContract? cdc = (ClassDataContract?)DataContract.GetDataContractFromGeneratedAssembly(type);
......@@ -334,7 +323,6 @@ internal static void CheckAndAddMember(List<DataMember> members, DataMember memb
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static XmlDictionaryString? GetChildNamespaceToDeclare(DataContract dataContract, Type childType, XmlDictionary dictionary)
{
childType = DataContract.UnwrapNullableType(childType);
......@@ -458,7 +446,6 @@ internal static bool IsNonSerializedMember(Type type, string memberName)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlDictionaryString?[]? CreateChildElementNamespaces()
{
if (Members == null)
......@@ -487,7 +474,6 @@ private void EnsureMethodsImported()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext? context)
{
Debug.Assert(context != null);
......@@ -500,7 +486,6 @@ public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, Xml
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context)
{
if (_isScriptObject)
......@@ -708,8 +693,6 @@ private sealed class ClassDataContractCriticalHelper : DataContract.DataContract
{
private static Type[]? s_serInfoCtorArgs;
private static readonly MethodInfo s_getKeyValuePairMethod = typeof(KeyValuePairAdapter<,>).GetMethod("GetKeyValuePair", Globals.ScanAllMembers)!;
[UnconditionalSuppressMessage("AOT Analysis", "IL3050:RequiresDynamicCode",
Justification = "Cannot annotate a field, annotating the method that uses the field instead")]
private static readonly ConstructorInfo s_ctorGenericMethod = typeof(KeyValuePairAdapter<,>).GetConstructor(Globals.ScanAllMembers, new Type[] { typeof(KeyValuePair<,>).MakeGenericType(typeof(KeyValuePairAdapter<,>).GetGenericArguments()) })!;
private ClassDataContract? _baseContract;
......@@ -742,7 +725,6 @@ private sealed class ClassDataContractCriticalHelper : DataContract.DataContract
public XmlDictionaryString[]? MemberNamespaces;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal ClassDataContractCriticalHelper([DynamicallyAccessedMembers(DataContractPreserveMemberTypes)]
Type type) : base(type)
{
......@@ -857,7 +839,6 @@ private sealed class ClassDataContractCriticalHelper : DataContract.DataContract
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal ClassDataContractCriticalHelper(
[DynamicallyAccessedMembers(DataContractPreserveMemberTypes)]
Type type, XmlDictionaryString ns, string[] memberNames) : base(type)
......@@ -934,7 +915,6 @@ private void EnsureIsReferenceImported(Type type)
[MemberNotNull(nameof(_members))]
[MemberNotNull(nameof(Members))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ImportDataMembers()
{
Type type = this.UnderlyingType;
......@@ -1113,7 +1093,6 @@ private static bool CanSerializeMember(FieldInfo? field)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool SetIfGetOnlyCollection(DataMember memberContract)
{
//OK to call IsCollection here since the use of surrogated collection types is not supported in get-only scenarios
......@@ -1188,7 +1167,6 @@ private void SetIfMembersHaveConflict(List<DataMember> members)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlQualifiedName GetStableNameAndSetHasDataContract(Type type)
{
return DataContract.GetStableName(type, out _hasDataContract);
......@@ -1359,7 +1337,6 @@ private static bool IsValidCallback(MethodInfo method, ParameterInfo[] parameter
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_knownDataContracts != null)
......@@ -1409,7 +1386,6 @@ internal bool IsNonAttributedType
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void SetKeyValuePairAdapterFlags(
[DynamicallyAccessedMembers(DataContractPreserveMemberTypes)]
Type type)
......@@ -1534,7 +1510,6 @@ public int Compare(Member x, Member y)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal ClassDataContractCriticalHelper Clone()
{
ClassDataContractCriticalHelper clonedHelper = new ClassDataContractCriticalHelper(this.UnderlyingType);
......@@ -1597,7 +1572,6 @@ internal Type ObjectType
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal ClassDataContract Clone()
{
ClassDataContract clonedDc = new ClassDataContract(this.UnderlyingType);
......@@ -1612,7 +1586,6 @@ internal ClassDataContract Clone()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void UpdateNamespaceAndMembers(Type type, XmlDictionaryString ns, string[] memberNames)
{
this.StableName = new XmlQualifiedName(GetStableName(type).Name, ns.Value);
......
......@@ -121,7 +121,6 @@ internal void BeginMethod(DynamicMethod dynamicMethod, Type delegateType, string
InitILGeneration(methodName, argTypes);
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void BeginMethod(string methodName, Type delegateType, bool allowPrivateMemberAccess)
{
MethodInfo signature = JsonFormatWriterGenerator.GetInvokeMethod(delegateType);
......@@ -133,7 +132,6 @@ internal void BeginMethod(string methodName, Type delegateType, bool allowPrivat
_delegateType = delegateType;
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void BeginMethod(Type returnType, string methodName, Type[] argTypes, bool allowPrivateMemberAccess)
{
_dynamicMethod = new DynamicMethod(methodName, returnType, argTypes, SerializationModule, allowPrivateMemberAccess);
......
......@@ -134,14 +134,12 @@ internal sealed class CollectionDataContract : DataContract
private CollectionDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CollectionDataContract(Type type) : base(new CollectionDataContractCriticalHelper(type))
{
InitCollectionDataContract(this);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionDataContract(Type type, CollectionKind kind, Type itemType, MethodInfo getEnumeratorMethod, string? deserializationExceptionMessage)
: base(new CollectionDataContractCriticalHelper(type, kind, itemType, getEnumeratorMethod, deserializationExceptionMessage))
{
......@@ -149,7 +147,6 @@ private CollectionDataContract(Type type, CollectionKind kind, Type itemType, Me
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionDataContract(Type type, CollectionKind kind, Type itemType, MethodInfo getEnumeratorMethod, MethodInfo? addMethod, ConstructorInfo? constructor)
: base(new CollectionDataContractCriticalHelper(type, kind, itemType, getEnumeratorMethod, addMethod, constructor))
{
......@@ -157,7 +154,6 @@ private CollectionDataContract(Type type, CollectionKind kind, Type itemType, Me
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionDataContract(Type type, CollectionKind kind, Type itemType, MethodInfo getEnumeratorMethod, MethodInfo? addMethod, ConstructorInfo? constructor, bool isConstructorCheckRequired)
: base(new CollectionDataContractCriticalHelper(type, kind, itemType, getEnumeratorMethod, addMethod, constructor, isConstructorCheckRequired))
{
......@@ -165,7 +161,6 @@ private CollectionDataContract(Type type, CollectionKind kind, Type itemType, Me
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionDataContract(Type type, string invalidCollectionInSharedContractMessage) : base(new CollectionDataContractCriticalHelper(type, invalidCollectionInSharedContractMessage))
{
InitCollectionDataContract(GetSharedTypeContract(type));
......@@ -174,7 +169,6 @@ private CollectionDataContract(Type type, string invalidCollectionInSharedContra
[MemberNotNull(nameof(_helper))]
[MemberNotNull(nameof(_collectionItemName))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void InitCollectionDataContract(DataContract? sharedTypeContract)
{
_helper = (base.Helper as CollectionDataContractCriticalHelper)!;
......@@ -208,7 +202,6 @@ public Type ItemType
public DataContract ItemContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
return _itemContract ?? _helper.ItemContract;
......@@ -268,7 +261,6 @@ internal bool IsDictionary
public XmlDictionaryString? ChildElementNamespace
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_childElementNamespace == null)
......@@ -327,7 +319,6 @@ internal bool IsConstructorCheckRequired
public override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{ return _helper.KnownDataContracts; }
......@@ -352,7 +343,6 @@ internal bool IsReadOnlyContract
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlFormatCollectionWriterDelegate CreateXmlFormatWriterDelegate()
{
return new XmlFormatWriterGenerator().GenerateCollectionWriter(this);
......@@ -361,7 +351,6 @@ private XmlFormatCollectionWriterDelegate CreateXmlFormatWriterDelegate()
internal XmlFormatCollectionWriterDelegate XmlFormatWriterDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.XmlFormatWriterDelegate == null)
......@@ -384,7 +373,6 @@ internal XmlFormatCollectionWriterDelegate XmlFormatWriterDelegate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlFormatCollectionReaderDelegate CreateXmlFormatReaderDelegate()
{
return new XmlFormatReaderGenerator().GenerateCollectionReader(this);
......@@ -393,7 +381,6 @@ private XmlFormatCollectionReaderDelegate CreateXmlFormatReaderDelegate()
internal XmlFormatCollectionReaderDelegate XmlFormatReaderDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.XmlFormatReaderDelegate == null)
......@@ -421,7 +408,6 @@ internal XmlFormatCollectionReaderDelegate XmlFormatReaderDelegate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlFormatGetOnlyCollectionReaderDelegate CreateXmlFormatGetOnlyCollectionReaderDelegate()
{
return new XmlFormatReaderGenerator().GenerateGetOnlyCollectionReader(this);
......@@ -431,7 +417,6 @@ private XmlFormatGetOnlyCollectionReaderDelegate CreateXmlFormatGetOnlyCollectio
internal XmlFormatGetOnlyCollectionReaderDelegate XmlFormatGetOnlyCollectionReaderDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.XmlFormatGetOnlyCollectionReaderDelegate == null)
......@@ -468,20 +453,17 @@ internal XmlFormatGetOnlyCollectionReaderDelegate XmlFormatGetOnlyCollectionRead
}
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void IncrementCollectionCount(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context)
{
_helper.IncrementCollectionCount(xmlWriter, obj, context);
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal IEnumerator GetEnumeratorForCollection(object obj)
{
return _helper.GetEnumeratorForCollection(obj);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal Type GetCollectionElementType()
{
return _helper.GetCollectionElementType();
......@@ -529,7 +511,6 @@ private sealed class CollectionDataContractCriticalHelper : DataContract.DataCon
};
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void Init(CollectionKind kind, Type? itemType, CollectionDataContractAttribute? collectionContractAttribute)
{
_kind = kind;
......@@ -586,7 +567,6 @@ private void Init(CollectionKind kind, Type? itemType, CollectionDataContractAtt
// array
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CollectionDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type) : base(type)
......@@ -601,7 +581,6 @@ private void Init(CollectionKind kind, Type? itemType, CollectionDataContractAtt
// read-only collection
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CollectionDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type,
......@@ -623,7 +602,6 @@ private void Init(CollectionKind kind, Type? itemType, CollectionDataContractAtt
// collection
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CollectionDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type,
......@@ -647,7 +625,6 @@ private void Init(CollectionKind kind, Type? itemType, CollectionDataContractAtt
// collection
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CollectionDataContractCriticalHelper(Type type, CollectionKind kind, Type itemType, MethodInfo getEnumeratorMethod, MethodInfo? addMethod, ConstructorInfo? constructor, bool isConstructorCheckRequired)
: this(type, kind, itemType, getEnumeratorMethod, addMethod, constructor)
{
......@@ -655,7 +632,6 @@ internal CollectionDataContractCriticalHelper(Type type, CollectionKind kind, Ty
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CollectionDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type,
......@@ -679,7 +655,6 @@ internal Type ItemType
internal DataContract ItemContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_itemContract == null)
......@@ -773,7 +748,6 @@ internal bool IsItemTypeNullable
internal override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (!_isKnownTypeAttributeChecked && UnderlyingType != null)
......@@ -823,7 +797,6 @@ internal bool IsItemTypeNullable
private static void DummyIncrementCollectionCount(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context) { }
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void IncrementCollectionCount(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context)
{
if (_incrementCollectionCountDelegate == null)
......@@ -869,7 +842,6 @@ internal void IncrementCollectionCount(XmlWriterDelegator xmlWriter, object obj,
[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2060:MakeGenericMethod",
Justification = "The call to MakeGenericMethod is safe due to the fact that CollectionDataContractCriticalHelper.BuildIncrementCollectionCountDelegate<T> is not annotated.")]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static MethodInfo GetBuildIncrementCollectionCountGenericDelegate(Type type) => BuildIncrementCollectionCountDelegateMethod.MakeGenericMethod(type);
private static MethodInfo? s_buildIncrementCollectionCountDelegateMethod;
......@@ -889,7 +861,6 @@ private static IncrementCollectionCountDelegate BuildIncrementCollectionCountDel
private CreateGenericDictionaryEnumeratorDelegate? _createGenericDictionaryEnumeratorDelegate;
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal IEnumerator GetEnumeratorForCollection(object obj)
{
IEnumerator enumerator = ((IEnumerable)obj).GetEnumerator();
......@@ -912,12 +883,11 @@ internal IEnumerator GetEnumeratorForCollection(object obj)
return enumerator;
[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2060:MakeGenericMethod",
Justification = "The call to MakeGenericMethod is safe due to the fact that CollectionDataContractCriticalHelper.BuildCreateGenericDictionaryEnumerator<K,V> is not annotated.")]
Justification = "The call to MakeGenericMethod is safe due to the fact that CollectionDataContractCriticalHelper.BuildCreateGenericDictionaryEnumerator<K,V> is not annotated.")]
static MethodInfo GetBuildCreateGenericDictionaryEnumeratorGenericMethod(Type[] keyValueTypes) => GetBuildCreateGenericDictionaryEnumeratorMethodInfo.MakeGenericMethod(keyValueTypes[0], keyValueTypes[1]);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal Type GetCollectionElementType()
{
Debug.Assert(Kind != CollectionKind.Array, "GetCollectionElementType should not be called on Arrays");
......@@ -986,7 +956,6 @@ internal Type GetCollectionElementType()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private DataContract? GetSharedTypeContract(Type type)
{
if (type.IsDefined(Globals.TypeOfCollectionDataContractAttribute, false))
......@@ -1008,28 +977,24 @@ internal static bool IsCollectionInterface(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool IsCollection(Type type)
{
return IsCollection(type, out _);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool IsCollection(Type type, [NotNullWhen(true)] out Type? itemType)
{
return IsCollectionHelper(type, out itemType, true /*constructorRequired*/);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool IsCollection(Type type, bool constructorRequired)
{
return IsCollectionHelper(type, out _, constructorRequired);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool IsCollectionHelper(Type type, [NotNullWhen(true)] out Type? itemType, bool constructorRequired)
{
if (type.IsArray && DataContract.GetBuiltInDataContract(type) == null)
......@@ -1041,14 +1006,12 @@ private static bool IsCollectionHelper(Type type, [NotNullWhen(true)] out Type?
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool TryCreate(Type type, [NotNullWhen(true)] out DataContract? dataContract)
{
return IsCollectionOrTryCreate(type, tryCreate: true, out dataContract!, out _, constructorRequired: true);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool CreateGetOnlyCollectionDataContract(Type type, [NotNullWhen(true)] out DataContract? dataContract)
{
if (type.IsArray)
......@@ -1063,7 +1026,6 @@ internal static bool CreateGetOnlyCollectionDataContract(Type type, [NotNullWhen
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool TryCreateGetOnlyCollectionDataContract(Type type, [NotNullWhen(true)] out DataContract? dataContract)
{
dataContract = DataContract.GetDataContractFromGeneratedAssembly(type);
......@@ -1112,7 +1074,6 @@ private static bool IsArraySegment(Type t)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool IsCollectionOrTryCreate(Type type, bool tryCreate, out DataContract? dataContract, out Type itemType, bool constructorRequired)
{
dataContract = null;
......@@ -1351,7 +1312,6 @@ internal static bool IsCollectionDataContract(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool HandleIfInvalidCollection(Type type, bool tryCreate, bool hasCollectionDataContract, bool createContractWithException, string message, string? param, ref DataContract? dataContract)
{
if (hasCollectionDataContract)
......@@ -1605,7 +1565,6 @@ internal bool RequiresMemberAccessForWrite(SecurityException? securityException)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext? context)
{
Debug.Assert(context != null);
......@@ -1616,7 +1575,6 @@ public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, Xml
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context)
{
Debug.Assert(context != null);
......
......@@ -10,10 +10,8 @@ namespace System.Runtime.Serialization
public abstract class DataContractResolver
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract bool TryResolveType(Type type, Type? declaredType, DataContractResolver knownTypeResolver, out XmlDictionaryString? typeName, out XmlDictionaryString? typeNamespace);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract Type? ResolveName(string typeName, string? typeNamespace, Type? declaredType, DataContractResolver knownTypeResolver);
}
}
......@@ -170,7 +170,6 @@ public ReadOnlyCollection<Type> KnownTypes
internal override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (this.knownDataContracts == null && this.knownTypeList != null)
......@@ -219,7 +218,6 @@ public bool SerializeReadOnlyTypes
private DataContract RootContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_rootContract == null)
......@@ -232,14 +230,12 @@ private DataContract RootContract
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteObject(XmlWriterDelegator writer, object? graph)
{
InternalWriteObject(writer, graph, null);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteObject(XmlWriterDelegator writer, object? graph, DataContractResolver? dataContractResolver)
{
InternalWriteStartObject(writer, graph);
......@@ -248,119 +244,102 @@ internal override void InternalWriteObject(XmlWriterDelegator writer, object? gr
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObject(XmlWriter writer, object? graph)
{
WriteObjectHandleExceptions(new XmlWriterDelegator(writer), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteStartObject(XmlWriter writer, object? graph)
{
WriteStartObjectHandleExceptions(new XmlWriterDelegator(writer), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObjectContent(XmlWriter writer, object? graph)
{
WriteObjectContentHandleExceptions(new XmlWriterDelegator(writer), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteEndObject(XmlWriter writer)
{
WriteEndObjectHandleExceptions(new XmlWriterDelegator(writer));
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteStartObject(XmlDictionaryWriter writer, object? graph)
{
WriteStartObjectHandleExceptions(new XmlWriterDelegator(writer), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObjectContent(XmlDictionaryWriter writer, object? graph)
{
WriteObjectContentHandleExceptions(new XmlWriterDelegator(writer), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteEndObject(XmlDictionaryWriter writer)
{
WriteEndObjectHandleExceptions(new XmlWriterDelegator(writer));
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void WriteObject(XmlDictionaryWriter writer, object? graph, DataContractResolver? dataContractResolver)
{
WriteObjectHandleExceptions(new XmlWriterDelegator(writer), graph, dataContractResolver);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlReader reader)
{
return ReadObjectHandleExceptions(new XmlReaderDelegator(reader), true /*verifyObjectName*/);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlReader reader, bool verifyObjectName)
{
return ReadObjectHandleExceptions(new XmlReaderDelegator(reader), verifyObjectName);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override bool IsStartObject(XmlReader reader)
{
return IsStartObjectHandleExceptions(new XmlReaderDelegator(reader));
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlDictionaryReader reader, bool verifyObjectName)
{
return ReadObjectHandleExceptions(new XmlReaderDelegator(reader), verifyObjectName);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override bool IsStartObject(XmlDictionaryReader reader)
{
return IsStartObjectHandleExceptions(new XmlReaderDelegator(reader));
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object? ReadObject(XmlDictionaryReader reader, bool verifyObjectName, DataContractResolver? dataContractResolver)
{
return ReadObjectHandleExceptions(new XmlReaderDelegator(reader), verifyObjectName, dataContractResolver);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteStartObject(XmlWriterDelegator writer, object? graph)
{
WriteRootElement(writer, RootContract, _rootName, _rootNamespace, _needsContractNsAtRoot);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteObjectContent(XmlWriterDelegator writer, object? graph)
{
InternalWriteObjectContent(writer, graph, null);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void InternalWriteObjectContent(XmlWriterDelegator writer, object? graph, DataContractResolver? dataContractResolver)
{
if (MaxItemsInObjectGraph == 0)
......@@ -417,7 +396,6 @@ internal void InternalWriteObjectContent(XmlWriterDelegator writer, object? grap
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract GetDataContract(DataContract declaredTypeContract, Type declaredType, Type objectType)
{
if (declaredType.IsInterface && CollectionDataContract.IsCollectionInterface(declaredType))
......@@ -435,7 +413,6 @@ internal static DataContract GetDataContract(DataContract declaredTypeContract,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteEndObject(XmlWriterDelegator writer)
{
if (!IsRootXmlAny(_rootName, RootContract))
......@@ -445,14 +422,12 @@ internal override void InternalWriteEndObject(XmlWriterDelegator writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override object? InternalReadObject(XmlReaderDelegator xmlReader, bool verifyObjectName)
{
return InternalReadObject(xmlReader, verifyObjectName, null);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override object? InternalReadObject(XmlReaderDelegator xmlReader, bool verifyObjectName, DataContractResolver? dataContractResolver)
{
if (MaxItemsInObjectGraph == 0)
......@@ -501,7 +476,6 @@ internal override void InternalWriteEndObject(XmlWriterDelegator writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override bool InternalIsStartObject(XmlReaderDelegator reader)
{
return IsRootElement(reader, RootContract, _rootName, _rootNamespace);
......@@ -519,7 +493,6 @@ internal override bool InternalIsStartObject(XmlReaderDelegator reader)
[return: NotNullIfNotNull(nameof(oldObj))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? SurrogateToDataContractType(ISerializationSurrogateProvider serializationSurrogateProvider, object? oldObj, Type surrogatedDeclaredType, ref Type objType)
{
object? obj = DataContractSurrogateCaller.GetObjectToSerialize(serializationSurrogateProvider, oldObj, objType, surrogatedDeclaredType);
......@@ -531,7 +504,6 @@ internal override bool InternalIsStartObject(XmlReaderDelegator reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static Type GetSurrogatedType(ISerializationSurrogateProvider serializationSurrogateProvider, Type type)
{
return DataContractSurrogateCaller.GetDataContractType(serializationSurrogateProvider, DataContract.UnwrapNullableType(type));
......
......@@ -32,7 +32,6 @@ internal DataContractSet(IDataContractSurrogate dataContractSurrogate, ICollecti
#endif
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal DataContractSet(DataContractSet dataContractSet)
{
ArgumentNullException.ThrowIfNull(dataContractSet);
......@@ -66,7 +65,6 @@ internal DataContractSet(DataContractSet dataContractSet)
#endif
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void Add(Type type)
{
DataContract dataContract = GetDataContract(type);
......@@ -81,14 +79,12 @@ internal static void EnsureTypeNotGeneric(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void Add(DataContract dataContract)
{
Add(dataContract.StableName, dataContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void Add(XmlQualifiedName name, DataContract dataContract)
{
if (dataContract.IsBuiltInDataContract)
......@@ -97,7 +93,6 @@ public void Add(XmlQualifiedName name, DataContract dataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void InternalAdd(XmlQualifiedName name, DataContract dataContract)
{
DataContract? dataContractInSet;
......@@ -134,7 +129,6 @@ internal void InternalAdd(XmlQualifiedName name, DataContract dataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddClassDataContract(ClassDataContract classDataContract)
{
if (classDataContract.BaseContract != null)
......@@ -168,7 +162,6 @@ private void AddClassDataContract(ClassDataContract classDataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddCollectionDataContract(CollectionDataContract collectionDataContract)
{
if (collectionDataContract.IsDictionary)
......@@ -186,14 +179,12 @@ private void AddCollectionDataContract(CollectionDataContract collectionDataCont
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddXmlDataContract(XmlDataContract xmlDataContract)
{
AddKnownDataContracts(xmlDataContract.KnownDataContracts);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddKnownDataContracts(DataContractDictionary? knownDataContracts)
{
if (knownDataContracts != null)
......@@ -206,7 +197,6 @@ private void AddKnownDataContracts(DataContractDictionary? knownDataContracts)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract GetDataContract(Type clrType)
{
#if SUPPORT_SURROGATE
......@@ -237,7 +227,6 @@ internal static DataContract GetDataContract(Type clrType)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract GetMemberTypeDataContract(DataMember dataMember)
{
Type dataMemberType = dataMember.MemberType;
......@@ -263,7 +252,6 @@ internal static DataContract GetMemberTypeDataContract(DataMember dataMember)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract GetItemTypeDataContract(CollectionDataContract collectionContract)
{
if (collectionContract.ItemType != null)
......
......@@ -12,7 +12,6 @@ namespace System.Runtime.Serialization
internal static class DataContractSurrogateCaller
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static Type GetDataContractType(ISerializationSurrogateProvider surrogateProvider, Type type)
{
if (DataContract.GetBuiltInDataContract(type) != null)
......@@ -22,7 +21,6 @@ internal static Type GetDataContractType(ISerializationSurrogateProvider surroga
[return: NotNullIfNotNull(nameof(obj))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? GetObjectToSerialize(ISerializationSurrogateProvider surrogateProvider, object? obj, Type objType, Type membertype)
{
if (obj == null)
......@@ -34,7 +32,6 @@ internal static Type GetDataContractType(ISerializationSurrogateProvider surroga
[return: NotNullIfNotNull(nameof(obj))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? GetDeserializedObject(ISerializationSurrogateProvider surrogateProvider, object? obj, Type objType, Type memberType)
{
if (obj == null)
......
......@@ -90,7 +90,6 @@ internal Type MemberType
internal DataContract MemberTypeContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{ return _helper.MemberTypeContract; }
}
......@@ -98,7 +97,6 @@ internal DataContract MemberTypeContract
internal PrimitiveDataContract? MemberPrimitiveContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
return _helper.MemberPrimitiveContract;
......@@ -212,7 +210,6 @@ internal Type MemberType
internal DataContract MemberTypeContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_memberTypeContract == null)
......@@ -252,7 +249,6 @@ internal bool HasConflictingNameAndType
internal PrimitiveDataContract? MemberPrimitiveContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_memberPrimitiveContract == PrimitiveDataContract.NullContract)
......
......@@ -22,7 +22,6 @@ internal sealed class EnumDataContract : DataContract
public XmlQualifiedName? BaseContractName { get; set; }
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal EnumDataContract(Type type) : base(new EnumDataContractCriticalHelper(type))
{
_helper = (base.Helper as EnumDataContractCriticalHelper)!;
......@@ -99,7 +98,6 @@ internal static void Add(Type type, string localName)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal EnumDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type) : base(type)
......@@ -362,14 +360,12 @@ internal long GetEnumValueFromString(string value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext? context)
{
WriteEnumValue(xmlWriter, obj);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context)
{
object obj = ReadEnumValue(xmlReader);
......
......@@ -12,7 +12,6 @@ internal sealed class GenericParameterDataContract : DataContract
private readonly GenericParameterDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal GenericParameterDataContract(Type type)
: base(new GenericParameterDataContractCriticalHelper(type))
{
......@@ -38,7 +37,6 @@ private sealed class GenericParameterDataContractCriticalHelper : DataContract.D
private readonly int _parameterPosition;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal GenericParameterDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type)
......
......@@ -299,7 +299,6 @@ internal static partial class Globals
internal static Type TypeOfHashtable
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get => s_typeOfHashtable ??= TypeOfDictionaryGeneric.MakeGenericType(TypeOfObject, TypeOfObject);
}
......@@ -322,7 +321,6 @@ internal static Type TypeOfHashtable
private static readonly Type? s_typeOfScriptObject;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static ClassDataContract CreateScriptObjectClassDataContract()
{
Debug.Assert(s_typeOfScriptObject != null);
......
......@@ -35,49 +35,42 @@ public sealed class DataContractJsonSerializer : XmlObjectSerializer
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type)
: this(type, (IEnumerable<Type>?)null)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type, string? rootName)
: this(type, rootName, null)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type, XmlDictionaryString? rootName)
: this(type, rootName, null)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type, IEnumerable<Type>? knownTypes)
: this(type, null, knownTypes, int.MaxValue, false, false)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type, string? rootName, IEnumerable<Type>? knownTypes)
: this(type, new DataContractJsonSerializerSettings() { RootName = rootName, KnownTypes = knownTypes })
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type, XmlDictionaryString? rootName, IEnumerable<Type>? knownTypes)
: this(type, rootName, knownTypes, int.MaxValue, false, false)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public DataContractJsonSerializer(Type type, DataContractJsonSerializerSettings? settings)
{
settings ??= new DataContractJsonSerializerSettings();
......@@ -88,7 +81,6 @@ public DataContractJsonSerializer(Type type, DataContractJsonSerializerSettings?
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal DataContractJsonSerializer(Type type,
XmlDictionaryString? rootName,
IEnumerable<Type>? knownTypes,
......@@ -127,7 +119,6 @@ public ReadOnlyCollection<Type> KnownTypes
internal override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (this.knownDataContracts == null && this.knownTypeList != null)
......@@ -183,7 +174,6 @@ public bool UseSimpleDictionaryFormat
private DataContract RootContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_rootContract == null)
......@@ -204,7 +194,6 @@ private XmlDictionaryString RootName
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override bool IsStartObject(XmlReader reader)
{
// No need to pass in DateTimeFormat to JsonReaderDelegator: no DateTimes will be read in IsStartObject
......@@ -212,7 +201,6 @@ public override bool IsStartObject(XmlReader reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override bool IsStartObject(XmlDictionaryReader reader)
{
// No need to pass in DateTimeFormat to JsonReaderDelegator: no DateTimes will be read in IsStartObject
......@@ -220,7 +208,6 @@ public override bool IsStartObject(XmlDictionaryReader reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(Stream stream)
{
ArgumentNullException.ThrowIfNull(stream);
......@@ -229,35 +216,30 @@ public override bool IsStartObject(XmlDictionaryReader reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlReader reader)
{
return ReadObjectHandleExceptions(new JsonReaderDelegator(reader, this.DateTimeFormat), true);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlReader reader, bool verifyObjectName)
{
return ReadObjectHandleExceptions(new JsonReaderDelegator(reader, this.DateTimeFormat), verifyObjectName);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlDictionaryReader reader)
{
return ReadObjectHandleExceptions(new JsonReaderDelegator(reader, this.DateTimeFormat), true); // verifyObjectName
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadObject(XmlDictionaryReader reader, bool verifyObjectName)
{
return ReadObjectHandleExceptions(new JsonReaderDelegator(reader, this.DateTimeFormat), verifyObjectName);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteEndObject(XmlWriter writer)
{
// No need to pass in DateTimeFormat to JsonWriterDelegator: no DateTimes will be written in end object
......@@ -265,7 +247,6 @@ public override void WriteEndObject(XmlWriter writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteEndObject(XmlDictionaryWriter writer)
{
// No need to pass in DateTimeFormat to JsonWriterDelegator: no DateTimes will be written in end object
......@@ -273,7 +254,6 @@ public override void WriteEndObject(XmlDictionaryWriter writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObject(Stream stream, object? graph)
{
ArgumentNullException.ThrowIfNull(stream);
......@@ -284,35 +264,30 @@ public override void WriteObject(Stream stream, object? graph)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObject(XmlWriter writer, object? graph)
{
WriteObjectHandleExceptions(new JsonWriterDelegator(writer, this.DateTimeFormat), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObject(XmlDictionaryWriter writer, object? graph)
{
WriteObjectHandleExceptions(new JsonWriterDelegator(writer, this.DateTimeFormat), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObjectContent(XmlWriter writer, object? graph)
{
WriteObjectContentHandleExceptions(new JsonWriterDelegator(writer, this.DateTimeFormat), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteObjectContent(XmlDictionaryWriter writer, object? graph)
{
WriteObjectContentHandleExceptions(new JsonWriterDelegator(writer, this.DateTimeFormat), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteStartObject(XmlWriter writer, object? graph)
{
// No need to pass in DateTimeFormat to JsonWriterDelegator: no DateTimes will be written in start object
......@@ -320,7 +295,6 @@ public override void WriteStartObject(XmlWriter writer, object? graph)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteStartObject(XmlDictionaryWriter writer, object? graph)
{
// No need to pass in DateTimeFormat to JsonWriterDelegator: no DateTimes will be written in start object
......@@ -384,7 +358,6 @@ internal static bool IsJsonLocalName(XmlReaderDelegator reader, string elementNa
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? ReadJsonValue(DataContract contract, XmlReaderDelegator reader, XmlObjectSerializerReadContextComplexJson? context)
{
return JsonDataContract.GetJsonDataContract(contract).ReadJsonValue(reader, context);
......@@ -396,7 +369,6 @@ internal static void WriteJsonNull(XmlWriterDelegator writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static void WriteJsonValue(JsonDataContract contract, XmlWriterDelegator writer, object graph, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
contract.WriteJsonValue(writer, graph, context, declaredTypeHandle);
......@@ -413,7 +385,6 @@ internal static void WriteJsonValue(JsonDataContract contract, XmlWriterDelegato
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override bool InternalIsStartObject(XmlReaderDelegator reader)
{
if (IsRootElement(reader, RootContract, RootName, XmlDictionaryString.Empty))
......@@ -425,7 +396,6 @@ internal override bool InternalIsStartObject(XmlReaderDelegator reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override object? InternalReadObject(XmlReaderDelegator xmlReader, bool verifyObjectName)
{
if (MaxItemsInObjectGraph == 0)
......@@ -456,14 +426,12 @@ internal override bool InternalIsStartObject(XmlReaderDelegator reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteEndObject(XmlWriterDelegator writer)
{
writer.WriteEndElement();
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteObject(XmlWriterDelegator writer, object? graph)
{
InternalWriteStartObject(writer, graph);
......@@ -472,7 +440,6 @@ internal override void InternalWriteObject(XmlWriterDelegator writer, object? gr
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteObjectContent(XmlWriterDelegator writer, object? graph)
{
if (MaxItemsInObjectGraph == 0)
......@@ -521,7 +488,6 @@ internal override void InternalWriteObjectContent(XmlWriterDelegator writer, obj
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalWriteStartObject(XmlWriterDelegator writer, object? graph)
{
if (_rootNameRequiresMapping)
......@@ -536,7 +502,6 @@ internal override void InternalWriteStartObject(XmlWriterDelegator writer, objec
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddCollectionItemTypeToKnownTypes(Type knownType)
{
Type? itemType;
......@@ -554,7 +519,6 @@ private void AddCollectionItemTypeToKnownTypes(Type knownType)
[MemberNotNull(nameof(_rootType))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void Initialize(Type type,
IEnumerable<Type>? knownTypes,
int maxItemsInObjectGraph,
......@@ -595,7 +559,6 @@ private void AddCollectionItemTypeToKnownTypes(Type knownType)
[MemberNotNull(nameof(_rootType))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void Initialize(Type type,
XmlDictionaryString? rootName,
IEnumerable<Type>? knownTypes,
......@@ -624,7 +587,6 @@ internal static void CheckIfTypeIsReference(DataContract dataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract GetDataContract(DataContract declaredTypeContract, Type declaredType, Type objectType)
{
DataContract contract = DataContractSerializer.GetDataContract(declaredTypeContract, declaredType, objectType);
......
......@@ -13,14 +13,12 @@ namespace System.Runtime.Serialization.Json
internal sealed class JsonByteArrayDataContract : JsonDataContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonByteArrayDataContract(ByteArrayDataContract traditionalByteArrayDataContract)
: base(traditionalByteArrayDataContract)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
if (context == null)
......
......@@ -15,7 +15,6 @@ internal sealed class JsonClassDataContract : JsonDataContract
private readonly JsonClassDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonClassDataContract(ClassDataContract traditionalDataContract)
: base(new JsonClassDataContractCriticalHelper(traditionalDataContract))
{
......@@ -25,7 +24,6 @@ public JsonClassDataContract(ClassDataContract traditionalDataContract)
internal JsonFormatClassReaderDelegate JsonFormatReaderDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.JsonFormatReaderDelegate == null)
......@@ -56,7 +54,6 @@ internal JsonFormatClassReaderDelegate JsonFormatReaderDelegate
internal JsonFormatClassWriterDelegate JsonFormatWriterDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.JsonFormatWriterDelegate == null)
......@@ -91,7 +88,6 @@ internal JsonFormatClassWriterDelegate JsonFormatWriterDelegate
private ClassDataContract TraditionalClassDataContract => _helper.TraditionalClassDataContract;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
jsonReader.Read();
......@@ -101,7 +97,6 @@ internal JsonFormatClassWriterDelegate JsonFormatWriterDelegate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
Debug.Assert(context != null);
......@@ -118,7 +113,6 @@ private sealed class JsonClassDataContractCriticalHelper : JsonDataContractCriti
private readonly string _typeName;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonClassDataContractCriticalHelper(ClassDataContract traditionalDataContract)
: base(traditionalDataContract)
{
......
......@@ -15,7 +15,6 @@ internal sealed class JsonCollectionDataContract : JsonDataContract
private readonly JsonCollectionDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonCollectionDataContract(CollectionDataContract traditionalDataContract)
: base(new JsonCollectionDataContractCriticalHelper(traditionalDataContract))
{
......@@ -25,7 +24,6 @@ public JsonCollectionDataContract(CollectionDataContract traditionalDataContract
internal JsonFormatCollectionReaderDelegate JsonFormatReaderDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.JsonFormatReaderDelegate == null)
......@@ -56,7 +54,6 @@ internal JsonFormatCollectionReaderDelegate JsonFormatReaderDelegate
internal JsonFormatGetOnlyCollectionReaderDelegate JsonFormatGetOnlyReaderDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.JsonFormatGetOnlyReaderDelegate == null)
......@@ -93,7 +90,6 @@ internal JsonFormatGetOnlyCollectionReaderDelegate JsonFormatGetOnlyReaderDelega
internal JsonFormatCollectionWriterDelegate JsonFormatWriterDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (_helper.JsonFormatWriterDelegate == null)
......@@ -124,7 +120,6 @@ internal JsonFormatCollectionWriterDelegate JsonFormatWriterDelegate
private CollectionDataContract TraditionalCollectionDataContract => _helper.TraditionalCollectionDataContract;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
Debug.Assert(context != null);
......@@ -146,7 +141,6 @@ internal JsonFormatCollectionWriterDelegate JsonFormatWriterDelegate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
Debug.Assert(context != null);
......@@ -163,7 +157,6 @@ private sealed class JsonCollectionDataContractCriticalHelper : JsonDataContract
private readonly CollectionDataContract _traditionalCollectionDataContract;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonCollectionDataContractCriticalHelper(CollectionDataContract traditionalDataContract)
: base(traditionalDataContract)
{
......
......@@ -16,7 +16,6 @@ internal class JsonDataContract
private readonly JsonDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected JsonDataContract(DataContract traditionalDataContract)
{
_helper = new JsonDataContractCriticalHelper(traditionalDataContract);
......@@ -64,14 +63,12 @@ internal static JsonReadWriteDelegates GetReadWriteDelegatesFromGeneratedAssembl
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static JsonDataContract GetJsonDataContract(DataContract traditionalDataContract)
{
return JsonDataContractCriticalHelper.GetJsonDataContract(traditionalDataContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object? ReadJsonValue(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
PushKnownDataContracts(context);
......@@ -81,14 +78,12 @@ public static JsonDataContract GetJsonDataContract(DataContract traditionalDataC
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
return TraditionalDataContract.ReadXmlValue(jsonReader, context);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void WriteJsonValue(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
PushKnownDataContracts(context);
......@@ -97,7 +92,6 @@ public void WriteJsonValue(XmlWriterDelegator jsonWriter, object obj, XmlObjectS
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
TraditionalDataContract.WriteXmlValue(jsonWriter, obj, context);
......@@ -155,7 +149,6 @@ internal class JsonDataContractCriticalHelper
private readonly string _typeName;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal JsonDataContractCriticalHelper(DataContract traditionalDataContract)
{
_traditionalDataContract = traditionalDataContract;
......@@ -170,7 +163,6 @@ internal JsonDataContractCriticalHelper(DataContract traditionalDataContract)
internal virtual string TypeName => _typeName;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static JsonDataContract GetJsonDataContract(DataContract traditionalDataContract)
{
int id = JsonDataContractCriticalHelper.GetId(traditionalDataContract.UnderlyingType.TypeHandle);
......@@ -217,7 +209,6 @@ internal static int GetId(RuntimeTypeHandle typeHandle)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static JsonDataContract CreateJsonDataContract(int id, DataContract traditionalDataContract)
{
lock (s_createDataContractLock)
......@@ -282,7 +273,6 @@ private static JsonDataContract CreateJsonDataContract(int id, DataContract trad
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddCollectionItemContractsToKnownDataContracts()
{
if (_traditionalDataContract.KnownDataContracts != null)
......
......@@ -10,7 +10,6 @@ internal sealed class JsonEnumDataContract : JsonDataContract
private readonly JsonEnumDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonEnumDataContract(EnumDataContract traditionalDataContract)
: base(new JsonEnumDataContractCriticalHelper(traditionalDataContract))
{
......@@ -20,7 +19,6 @@ public JsonEnumDataContract(EnumDataContract traditionalDataContract)
public bool IsULong => _helper.IsULong;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
object enumValue;
......@@ -38,7 +36,6 @@ public JsonEnumDataContract(EnumDataContract traditionalDataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
if (IsULong)
......@@ -56,7 +53,6 @@ private sealed class JsonEnumDataContractCriticalHelper : JsonDataContractCritic
private readonly bool _isULong;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonEnumDataContractCriticalHelper(EnumDataContract traditionalEnumDataContract)
: base(traditionalEnumDataContract)
{
......
......@@ -27,21 +27,18 @@ public JsonFormatReaderGenerator()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonFormatClassReaderDelegate GenerateClassReader(ClassDataContract classContract)
{
return _helper.GenerateClassReader(classContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonFormatCollectionReaderDelegate GenerateCollectionReader(CollectionDataContract collectionContract)
{
return _helper.GenerateCollectionReader(collectionContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonFormatGetOnlyCollectionReaderDelegate GenerateGetOnlyCollectionReader(CollectionDataContract collectionContract)
{
return _helper.GenerateGetOnlyCollectionReader(collectionContract);
......@@ -59,7 +56,6 @@ private sealed class CriticalHelper
private ArgBuilder _emptyDictionaryStringArg = null!; // initialized in InitArgs
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonFormatClassReaderDelegate GenerateClassReader(ClassDataContract classContract)
{
_ilg = new CodeGenerator();
......@@ -128,7 +124,6 @@ public JsonFormatClassReaderDelegate GenerateClassReader(ClassDataContract class
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonFormatCollectionReaderDelegate GenerateCollectionReader(CollectionDataContract collectionContract)
{
_ilg = GenerateCollectionReaderHelper(collectionContract, false /*isGetOnlyCollection*/);
......@@ -139,7 +134,6 @@ public JsonFormatCollectionReaderDelegate GenerateCollectionReader(CollectionDat
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonFormatGetOnlyCollectionReaderDelegate GenerateGetOnlyCollectionReader(CollectionDataContract collectionContract)
{
_ilg = GenerateCollectionReaderHelper(collectionContract, true /*isGetOnlyCollection*/);
......@@ -147,7 +141,6 @@ public JsonFormatGetOnlyCollectionReaderDelegate GenerateGetOnlyCollectionReader
return (JsonFormatGetOnlyCollectionReaderDelegate)_ilg.EndMethod();
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CodeGenerator GenerateCollectionReaderHelper(CollectionDataContract collectionContract, bool isGetOnlyCollection)
{
_ilg = new CodeGenerator();
......@@ -179,7 +172,6 @@ private CodeGenerator GenerateCollectionReaderHelper(CollectionDataContract coll
return _ilg;
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static void BeginMethod(CodeGenerator ilg, string methodName, Type delegateType, bool allowPrivateMemberAccess)
{
MethodInfo signature = JsonFormatWriterGenerator.GetInvokeMethod(delegateType);
......@@ -284,7 +276,6 @@ private bool InvokeFactoryMethod(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadClass(ClassDataContract classContract)
{
if (classContract.HasExtensionData)
......@@ -310,7 +301,6 @@ private void ReadClass(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadMembers(ClassDataContract classContract, LocalBuilder? extensionDataLocal)
{
int memberCount = classContract.MemberNames!.Length;
......@@ -359,7 +349,6 @@ private void ReadMembers(ClassDataContract classContract, LocalBuilder? extensio
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private int ReadMembers(ClassDataContract classContract, BitFlagsGenerator expectedElements,
Label[] memberLabels, Label throwDuplicateMemberLabel, LocalBuilder memberIndexLocal)
{
......@@ -468,7 +457,6 @@ private void ReadISerializable(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private LocalBuilder ReadValue(Type type, string name)
{
LocalBuilder value = _ilg.DeclareLocal(type, "valueRead");
......@@ -584,7 +572,6 @@ private void InternalDeserialize(LocalBuilder value, Type type, string name)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WrapNullableObject(LocalBuilder innerValue, LocalBuilder outerValue, int nullables)
{
Type innerType = innerValue.LocalType, outerType = outerValue.LocalType;
......@@ -600,7 +587,6 @@ private void WrapNullableObject(LocalBuilder innerValue, LocalBuilder outerValue
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadCollection(CollectionDataContract collectionContract)
{
Type type = collectionContract.UnderlyingType;
......@@ -731,7 +717,6 @@ private void ReadCollection(CollectionDataContract collectionContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadSimpleDictionary(CollectionDataContract collectionContract, Type keyValueType)
{
Type[] keyValueTypes = keyValueType.GetGenericArguments();
......@@ -825,7 +810,6 @@ private void ReadSimpleDictionary(CollectionDataContract collectionContract, Typ
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadGetOnlyCollection(CollectionDataContract collectionContract)
{
Type type = collectionContract.UnderlyingType;
......@@ -915,7 +899,6 @@ private void ReadGetOnlyCollection(CollectionDataContract collectionContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool TryReadPrimitiveArray(Type itemType)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(itemType);
......@@ -967,7 +950,6 @@ private bool TryReadPrimitiveArray(Type itemType)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private LocalBuilder ReadCollectionItem(CollectionDataContract collectionContract, Type itemType)
{
if (collectionContract.Kind == CollectionKind.Dictionary || collectionContract.Kind == CollectionKind.GenericDictionary)
......@@ -991,7 +973,6 @@ private LocalBuilder ReadCollectionItem(CollectionDataContract collectionContrac
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void StoreCollectionValue(LocalBuilder collection, LocalBuilder value, CollectionDataContract collectionContract)
{
if (collectionContract.Kind == CollectionKind.GenericDictionary || collectionContract.Kind == CollectionKind.Dictionary)
......
......@@ -25,14 +25,12 @@ public JsonFormatWriterGenerator()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal JsonFormatClassWriterDelegate GenerateClassWriter(ClassDataContract classContract)
{
return _helper.GenerateClassWriter(classContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal JsonFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDataContract collectionContract)
{
return _helper.GenerateCollectionWriter(collectionContract);
......@@ -60,7 +58,6 @@ private sealed class CriticalHelper
private int _childElementIndex;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal JsonFormatClassWriterDelegate GenerateClassWriter(ClassDataContract classContract)
{
_ilg = new CodeGenerator();
......@@ -87,7 +84,6 @@ internal JsonFormatClassWriterDelegate GenerateClassWriter(ClassDataContract cla
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal JsonFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDataContract collectionContract)
{
_ilg = new CodeGenerator();
......@@ -116,7 +112,6 @@ internal JsonFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionD
return (JsonFormatCollectionWriterDelegate)_ilg.EndMethod();
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static void BeginMethod(CodeGenerator ilg, string methodName, Type delegateType, bool allowPrivateMemberAccess)
{
MethodInfo signature = GetInvokeMethod(delegateType);
......@@ -130,7 +125,6 @@ private static void BeginMethod(CodeGenerator ilg, string methodName, Type deleg
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void InitArgs(Type objType)
{
_xmlWriterArg = _ilg.GetArg(0);
......@@ -213,7 +207,6 @@ private void InvokeOnSerialized(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteClass(ClassDataContract classContract)
{
InvokeOnSerializing(classContract);
......@@ -243,7 +236,6 @@ private void WriteClass(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private int WriteMembers(ClassDataContract classContract, LocalBuilder? extensionDataLocal, ClassDataContract derivedMostClassContract)
{
int memberCount = (classContract.BaseContract == null) ? 0 :
......@@ -319,7 +311,6 @@ private LocalBuilder LoadMemberValue(DataMember member)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteCollection(CollectionDataContract collectionContract)
{
LocalBuilder itemName = _ilg.DeclareLocal(typeof(XmlDictionaryString), "itemName");
......@@ -523,7 +514,6 @@ private void WriteCollection(CollectionDataContract collectionContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool TryWritePrimitive(Type type, LocalBuilder? value, MemberInfo? memberInfo, LocalBuilder? arrayItemIndex, LocalBuilder? name, int nameIndex)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(type);
......@@ -571,7 +561,6 @@ private bool TryWritePrimitive(Type type, LocalBuilder? value, MemberInfo? membe
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool TryWritePrimitiveArray(Type type, Type itemType, LocalBuilder value, LocalBuilder itemName)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(itemType);
......@@ -638,7 +627,6 @@ private void WriteObjectAttribute()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteValue(LocalBuilder memberValue)
{
Type memberType = memberValue.LocalType;
......@@ -734,7 +722,6 @@ private void InternalSerialize(MethodInfo methodInfo, LocalBuilder memberValue,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private LocalBuilder UnwrapNullableObject(LocalBuilder memberValue)// Leaves !HasValue on stack
{
Type memberType = memberValue.LocalType;
......
......@@ -11,14 +11,12 @@ namespace System.Runtime.Serialization.Json
internal sealed class JsonObjectDataContract : JsonDataContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonObjectDataContract(DataContract traditionalDataContract)
: base(traditionalDataContract)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
object? obj;
......@@ -56,7 +54,6 @@ public JsonObjectDataContract(DataContract traditionalDataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
jsonWriter.WriteAttributeString(null, JsonGlobals.typeString, null, JsonGlobals.objectString);
......
......@@ -13,14 +13,12 @@ namespace System.Runtime.Serialization.Json
internal sealed class JsonQNameDataContract : JsonDataContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonQNameDataContract(QNameDataContract traditionalQNameDataContract)
: base(traditionalQNameDataContract)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
if (context == null)
......
......@@ -13,14 +13,12 @@ namespace System.Runtime.Serialization.Json
internal sealed class JsonStringDataContract : JsonDataContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonStringDataContract(StringDataContract traditionalStringDataContract)
: base(traditionalStringDataContract)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
if (context == null)
......
......@@ -8,14 +8,12 @@ namespace System.Runtime.Serialization.Json
internal sealed class JsonUriDataContract : JsonDataContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonUriDataContract(UriDataContract traditionalUriDataContract)
: base(traditionalUriDataContract)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
if (context == null)
......
......@@ -12,14 +12,12 @@ namespace System.Runtime.Serialization.Json
internal sealed class JsonXmlDataContract : JsonDataContract
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public JsonXmlDataContract(XmlDataContract traditionalXmlDataContract)
: base(traditionalXmlDataContract)
{
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson? context)
{
string xmlContent = jsonReader.ReadElementContentAsString();
......@@ -43,7 +41,6 @@ public JsonXmlDataContract(XmlDataContract traditionalXmlDataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson? context, RuntimeTypeHandle declaredTypeHandle)
{
DataContractSerializer dataContractSerializer = new DataContractSerializer(Type.GetTypeFromHandle(declaredTypeHandle)!,
......
......@@ -27,7 +27,6 @@ public ReflectionJsonClassReader(ClassDataContract classDataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object ReflectionReadClass(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContextComplexJson? context, XmlDictionaryString emptyDictionaryString, XmlDictionaryString[]? memberNames)
{
Debug.Assert(_classContract != null);
......@@ -40,14 +39,12 @@ internal sealed class ReflectionJsonCollectionReader
private readonly ReflectionReader _reflectionReader = new ReflectionJsonReader();
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object ReflectionReadCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContextComplexJson context, XmlDictionaryString emptyDictionaryString, XmlDictionaryString itemName, CollectionDataContract collectionContract)
{
return _reflectionReader.ReflectionReadCollection(xmlReader, context, itemName, emptyDictionaryString/*itemNamespace*/, collectionContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void ReflectionReadGetOnlyCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContextComplexJson context, XmlDictionaryString emptyDictionaryString, XmlDictionaryString itemName, CollectionDataContract collectionContract)
{
_reflectionReader.ReflectionReadGetOnlyCollection(xmlReader, context, itemName, emptyDictionaryString/*itemNamespace*/, collectionContract);
......@@ -57,7 +54,6 @@ public void ReflectionReadGetOnlyCollection(XmlReaderDelegator xmlReader, XmlObj
internal sealed class ReflectionJsonReader : ReflectionReader
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override void ReflectionReadMembers(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString[] memberNames, XmlDictionaryString[]? memberNamespaces, ClassDataContract classContract, ref object obj)
{
var jsonContext = context as XmlObjectSerializerReadContextComplexJson;
......@@ -112,7 +108,6 @@ protected override string GetCollectionContractNamespace(CollectionDataContract
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override object? ReflectionReadDictionaryItem(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract collectionContract)
{
var jsonContext = context as XmlObjectSerializerReadContextComplexJson;
......@@ -125,7 +120,6 @@ protected override string GetCollectionContractNamespace(CollectionDataContract
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override bool ReflectionReadSpecialCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract collectionContract, object? resultCollection)
{
var jsonContext = context as XmlObjectSerializerReadContextComplexJson;
......@@ -142,7 +136,6 @@ protected override bool ReflectionReadSpecialCollection(XmlReaderDelegator xmlRe
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadSimpleDictionary(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract collectionContract, Type keyValueType, object? dictionary)
{
Type[] keyValueTypes = keyValueType.GetGenericArguments();
......
......@@ -19,14 +19,12 @@ internal sealed class ReflectionJsonFormatWriter
private readonly ReflectionJsonClassWriter _reflectionClassWriter = new ReflectionJsonClassWriter();
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void ReflectionWriteClass(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContextComplexJson context, ClassDataContract classContract, XmlDictionaryString[]? memberNames)
{
_reflectionClassWriter.ReflectionWriteClass(xmlWriter, obj, context, classContract, memberNames);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static void ReflectionWriteCollection(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContextComplexJson context, CollectionDataContract collectionContract)
{
JsonWriterDelegator? jsonWriter = xmlWriter as JsonWriterDelegator;
......@@ -140,7 +138,6 @@ private static void ReflectionWriteObjectAttribute(XmlWriterDelegator xmlWriter)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool ReflectionTryWritePrimitiveArray(JsonWriterDelegator jsonWriter, object obj, Type underlyingType, Type itemType, XmlDictionaryString collectionItemName)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(itemType);
......@@ -198,7 +195,6 @@ private static void ReflectionWriteArrayAttribute(XmlWriterDelegator xmlWriter)
internal sealed class ReflectionJsonClassWriter : ReflectionClassWriter
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override int ReflectionWriteMembers(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context, ClassDataContract classContract, ClassDataContract derivedMostClassContract, int childElementIndex, XmlDictionaryString[]? memberNames)
{
Debug.Assert(memberNames != null);
......
......@@ -32,14 +32,12 @@ internal static XmlObjectSerializerReadContextComplexJson CreateContext(DataCont
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override object? ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)
{
return DataContractJsonSerializer.ReadJsonValue(dataContract, reader, this);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public int GetJsonMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, int memberIndex, ExtensionDataObject? extensionData)
{
int length = memberNames.Length;
......@@ -258,7 +256,6 @@ protected override XmlReaderDelegator CreateReaderDelegatorForReader(XmlReader x
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override DataContract GetDataContract(RuntimeTypeHandle typeHandle, Type? type)
{
DataContract dataContract = base.GetDataContract(typeHandle, type);
......@@ -267,7 +264,6 @@ internal override DataContract GetDataContract(RuntimeTypeHandle typeHandle, Typ
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override DataContract GetDataContractSkipValidation(int typeId, RuntimeTypeHandle typeHandle, Type? type)
{
DataContract dataContract = base.GetDataContractSkipValidation(typeId, typeHandle, type);
......@@ -276,7 +272,6 @@ internal override DataContract GetDataContractSkipValidation(int typeId, Runtime
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override DataContract GetDataContract(int id, RuntimeTypeHandle typeHandle)
{
DataContract dataContract = base.GetDataContract(id, typeHandle);
......@@ -347,7 +342,6 @@ private static bool IsBitSet(byte[] bytes, int bitIndex)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override DataContract? ResolveDataContractFromRootDataContract(XmlQualifiedName typeQName)
{
return XmlObjectSerializerWriteContextComplexJson.ResolveJsonDataContractFromRootDataContract(this, typeQName, rootTypeDataContract!);
......
......@@ -91,7 +91,6 @@ internal static string TruncateDefaultDataContractNamespace(string dataContractN
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override bool WriteTypeInfo(XmlWriterDelegator writer, DataContract contract, DataContract declaredContract)
{
if (!((object.ReferenceEquals(contract.Name, declaredContract.Name) &&
......@@ -143,7 +142,6 @@ private static void WriteTypeInfo(XmlWriterDelegator writer, string typeInformat
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override void WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle declaredTypeHandle)
{
JsonDataContract jsonDataContract = JsonDataContract.GetJsonDataContract(dataContract);
......@@ -166,7 +164,6 @@ internal static XmlDictionaryString CollectionItemName
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override void SerializeWithXsiType(XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle objectTypeHandle, Type? objectType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
{
DataContract dataContract;
......@@ -199,7 +196,6 @@ protected override void SerializeWithXsiType(XmlWriterDelegator xmlWriter, objec
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void HandleCollectionAssignedToObject(Type declaredType, ref DataContract dataContract, ref object obj, ref bool verifyKnownType)
{
if ((declaredType != dataContract.UnderlyingType) && (dataContract is CollectionDataContract))
......@@ -235,7 +231,6 @@ private void HandleCollectionAssignedToObject(Type declaredType, ref DataContrac
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void SerializeWithXsiTypeAtTopLevel(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle originalDeclaredTypeHandle, Type graphType)
{
bool verifyKnownType = false;
......@@ -257,7 +252,6 @@ internal override void SerializeWithXsiTypeAtTopLevel(DataContract dataContract,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void VerifyType(DataContract dataContract, Type declaredType)
{
bool knownTypesAddedInCurrentScope = false;
......@@ -285,7 +279,6 @@ internal static void WriteJsonNameWithMapping(XmlWriterDelegator xmlWriter, XmlD
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void WriteExtensionDataTypeInfo(XmlWriterDelegator xmlWriter, IDataNode dataNode)
{
Type dataType = dataNode.DataType;
......@@ -329,7 +322,6 @@ internal static void VerifyObjectCompatibilityWithInterface(DataContract contrac
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteJsonISerializable(XmlWriterDelegator xmlWriter, ISerializable obj)
{
Type objType = obj.GetType();
......@@ -347,7 +339,6 @@ internal void WriteJsonISerializable(XmlWriterDelegator xmlWriter, ISerializable
[return: NotNullIfNotNull(nameof(oldItemContract))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract? GetRevisedItemContract(DataContract oldItemContract)
{
if ((oldItemContract != null) &&
......@@ -360,7 +351,6 @@ internal void WriteJsonISerializable(XmlWriterDelegator xmlWriter, ISerializable
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override DataContract GetDataContract(RuntimeTypeHandle typeHandle, Type? type)
{
DataContract dataContract = base.GetDataContract(typeHandle, type);
......@@ -369,7 +359,6 @@ internal override DataContract GetDataContract(RuntimeTypeHandle typeHandle, Typ
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override DataContract GetDataContractSkipValidation(int typeId, RuntimeTypeHandle typeHandle, Type? type)
{
DataContract dataContract = base.GetDataContractSkipValidation(typeId, typeHandle, type);
......@@ -378,7 +367,6 @@ internal override DataContract GetDataContractSkipValidation(int typeId, Runtime
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override DataContract GetDataContract(int id, RuntimeTypeHandle typeHandle)
{
DataContract dataContract = base.GetDataContract(id, typeHandle);
......@@ -387,14 +375,12 @@ internal override DataContract GetDataContract(int id, RuntimeTypeHandle typeHan
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override DataContract? ResolveDataContractFromRootDataContract(XmlQualifiedName typeQName)
{
return XmlObjectSerializerWriteContextComplexJson.ResolveJsonDataContractFromRootDataContract(this, typeQName, rootTypeDataContract!);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContract? ResolveJsonDataContractFromRootDataContract(XmlObjectSerializerContext context, XmlQualifiedName typeQName, DataContract rootTypeDataContract)
{
if (rootTypeDataContract.StableName == typeQName)
......
......@@ -18,7 +18,6 @@ internal KnownTypeDataContractResolver(XmlObjectSerializerContext context)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override bool TryResolveType(Type type, Type? declaredType, DataContractResolver knownTypeResolver, out XmlDictionaryString? typeName, out XmlDictionaryString? typeNamespace)
{
if (type == null)
......@@ -50,7 +49,6 @@ public override bool TryResolveType(Type type, Type? declaredType, DataContractR
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override Type? ResolveName(string typeName, string? typeNamespace, Type? declaredType, DataContractResolver knownTypeResolver)
{
if (typeName == null || typeNamespace == null)
......
......@@ -18,7 +18,6 @@ namespace System.Runtime.Serialization
internal abstract class ReflectionClassWriter
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void ReflectionWriteClass(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context, ClassDataContract classContract, XmlDictionaryString[]? memberNames)
{
InvokeOnSerializing(obj, context, classContract);
......@@ -41,7 +40,6 @@ public void ReflectionWriteClass(XmlWriterDelegator xmlWriter, object obj, XmlOb
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static void ReflectionWriteValue(XmlWriterDelegator xmlWriter, XmlObjectSerializerWriteContext context, Type type, object? value, bool writeXsiType, PrimitiveDataContract? primitiveContractForParamType)
{
Type memberType = type;
......@@ -106,7 +104,6 @@ public static void ReflectionWriteValue(XmlWriterDelegator xmlWriter, XmlObjectS
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected abstract int ReflectionWriteMembers(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context, ClassDataContract classContract, ClassDataContract derivedMostClassContract, int childElementIndex, XmlDictionaryString[]? memberNames);
protected static object? ReflectionGetMemberValue(object obj, DataMember dataMember)
......@@ -115,7 +112,6 @@ public static void ReflectionWriteValue(XmlWriterDelegator xmlWriter, XmlObjectS
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected static bool ReflectionTryWritePrimitive(XmlWriterDelegator xmlWriter, XmlObjectSerializerWriteContext context, Type type, object? value, XmlDictionaryString name, XmlDictionaryString? ns, PrimitiveDataContract? primitiveContract)
{
if (primitiveContract == null || primitiveContract.UnderlyingType == Globals.TypeOfObject)
......@@ -168,7 +164,6 @@ private static object ResolveAdapterType(object obj, ClassDataContract classCont
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static void ReflectionInternalSerialize(XmlWriterDelegator xmlWriter, XmlObjectSerializerWriteContext context, object obj, bool isDeclaredType, bool writeXsiType, Type memberType, bool isNullableOfT = false)
{
if (isNullableOfT)
......
......@@ -30,7 +30,6 @@ internal abstract class ReflectionReader
s_getCollectionSetItemDelegateMethod ??= typeof(ReflectionReader).GetMethod(nameof(GetCollectionSetItemDelegate), BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static)!;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object ReflectionReadClass(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context, XmlDictionaryString[]? memberNames, XmlDictionaryString[]? memberNamespaces, ClassDataContract classContract)
{
Debug.Assert(context != null);
......@@ -62,7 +61,6 @@ public object ReflectionReadClass(XmlReaderDelegator xmlReader, XmlObjectSeriali
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void ReflectionReadGetOnlyCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString collectionItemName, XmlDictionaryString collectionItemNamespace, CollectionDataContract collectionContract)
{
object? resultCollection = context.GetCollectionMember();
......@@ -85,14 +83,12 @@ public void ReflectionReadGetOnlyCollection(XmlReaderDelegator xmlReader, XmlObj
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object ReflectionReadCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString collectionItemName, XmlDictionaryString collectionItemNamespace, CollectionDataContract collectionContract)
{
return ReflectionReadCollectionCore(xmlReader, context, collectionItemName, collectionItemNamespace, collectionContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object ReflectionReadCollectionCore(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString collectionItemName, XmlDictionaryString collectionItemNamespace, CollectionDataContract collectionContract)
{
bool isArray = (collectionContract.Kind == CollectionKind.Array);
......@@ -118,7 +114,6 @@ private object ReflectionReadCollectionCore(XmlReaderDelegator xmlReader, XmlObj
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionReadItemDelegate GetCollectionReadItemDelegate(CollectionDataContract collectionContract)
{
CollectionReadItemDelegate collectionReadItemDelegate;
......@@ -141,7 +136,6 @@ private CollectionReadItemDelegate GetCollectionReadItemDelegate(CollectionDataC
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object ReadCollectionItems(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString collectionItemName, XmlDictionaryString collectionItemNamespace, CollectionDataContract collectionContract, object resultCollection, bool isReadOnlyCollection)
{
string itemName = GetCollectionContractItemName(collectionContract);
......@@ -188,17 +182,14 @@ private object ReadCollectionItems(XmlReaderDelegator xmlReader, XmlObjectSerial
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected abstract void ReflectionReadMembers(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString[] memberNames, XmlDictionaryString[]? memberNamespaces, ClassDataContract classContract, ref object obj);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected abstract object? ReflectionReadDictionaryItem(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract collectionContract);
protected abstract string GetCollectionContractItemName(CollectionDataContract collectionContract);
protected abstract string GetCollectionContractNamespace(CollectionDataContract collectionContract);
protected abstract string GetClassContractNamespace(ClassDataContract classContract);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual bool ReflectionReadSpecialCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract collectionContract, object? resultCollection)
{
return false;
......@@ -217,7 +208,6 @@ protected int ReflectionGetMembers(ClassDataContract classContract, DataMember[]
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected void ReflectionReadMember(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, ClassDataContract classContract, ref object obj, int memberIndex, DataMember[] members)
{
DataMember dataMember = members[memberIndex];
......@@ -241,7 +231,6 @@ protected void ReflectionReadMember(XmlReaderDelegator xmlReader, XmlObjectSeria
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected object? ReflectionReadValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, Type type, string name, string ns, PrimitiveDataContract? primitiveContractForOriginalType = null)
{
object? value;
......@@ -269,7 +258,6 @@ protected void ReflectionReadMember(XmlReaderDelegator xmlReader, XmlObjectSeria
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object? ReadItemOfPrimitiveType(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, Type type, string name, string ns, PrimitiveDataContract? primitiveContract, int nullables)
{
object? value;
......@@ -324,7 +312,6 @@ protected void ReflectionReadMember(XmlReaderDelegator xmlReader, XmlObjectSeria
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static object ReadISerializable(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, ClassDataContract classContract)
{
object obj;
......@@ -337,7 +324,6 @@ private static object ReadISerializable(XmlReaderDelegator xmlReader, XmlObjectS
// This method is a perf optimization for collections. The original method is ReflectionReadValue.
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionReadItemDelegate GetReflectionReadValueDelegate(Type type)
{
int nullables = 0;
......@@ -375,7 +361,6 @@ private static void ReflectionSetMemberValue(ref object obj, object? memberValue
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object? ReflectionReadValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, DataMember dataMember, string ns)
{
Type type = dataMember.MemberType;
......@@ -385,7 +370,6 @@ private static void ReflectionSetMemberValue(ref object obj, object? memberValue
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object? ReflectionInternalDeserialize(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract? collectionContract, Type type, string name, string ns)
{
return context.InternalDeserialize(xmlReader, DataContract.GetId(type.TypeHandle), type.TypeHandle, name, ns);
......@@ -474,7 +458,6 @@ private static bool IsArrayLikeCollection(CollectionDataContract collectionContr
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static object ReflectionCreateCollection(CollectionDataContract collectionContract)
{
if (IsArrayLikeCollection(collectionContract))
......@@ -522,7 +505,6 @@ private static object ReflectionCreateCollection(CollectionDataContract collecti
return ((KeyValue<K, V>)o).Value;
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static CollectionSetItemDelegate GetCollectionSetItemDelegate<T>(CollectionDataContract collectionContract, object resultCollectionObject, bool isReadOnlyCollection)
{
if (isReadOnlyCollection && collectionContract.Kind == CollectionKind.Array)
......@@ -622,7 +604,6 @@ private static CollectionSetItemDelegate GetCollectionSetItemDelegate<T>(Collect
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool ReflectionTryReadPrimitiveArray(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString collectionItemName, XmlDictionaryString collectionItemNamespace, Type type, Type itemType, int arraySize, [NotNullWhen(true)] out object? resultArray)
{
resultArray = null;
......
......@@ -27,24 +27,23 @@ public ReflectionXmlClassReader(ClassDataContract classDataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public object ReflectionReadClass(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context, XmlDictionaryString[]? memberNames, XmlDictionaryString[]? memberNamespaces)
{
return _reflectionReader.ReflectionReadClass(xmlReader, context, memberNames, memberNamespaces, _classContract);
}
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal sealed class ReflectionXmlCollectionReader
{
private readonly ReflectionReader _reflectionReader = new ReflectionXmlReader();
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
public object ReflectionReadCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString itemName, XmlDictionaryString itemNamespace, CollectionDataContract collectionContract)
{
return _reflectionReader.ReflectionReadCollection(xmlReader, context, itemName, itemNamespace/*itemNamespace*/, collectionContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
public void ReflectionReadGetOnlyCollection(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString itemName, XmlDictionaryString itemNs, CollectionDataContract collectionContract)
{
_reflectionReader.ReflectionReadGetOnlyCollection(xmlReader, context, itemName, itemNs, collectionContract);
......@@ -54,7 +53,6 @@ public void ReflectionReadGetOnlyCollection(XmlReaderDelegator xmlReader, XmlObj
internal sealed class ReflectionXmlReader : ReflectionReader
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override void ReflectionReadMembers(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, XmlDictionaryString[] memberNames, XmlDictionaryString[]? memberNamespaces, ClassDataContract classContract, ref object obj)
{
Debug.Assert(memberNamespaces != null);
......@@ -117,7 +115,6 @@ protected override string GetCollectionContractNamespace(CollectionDataContract
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override object? ReflectionReadDictionaryItem(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context, CollectionDataContract collectionContract)
{
Debug.Assert(collectionContract.Kind == CollectionKind.Dictionary || collectionContract.Kind == CollectionKind.GenericDictionary);
......
......@@ -11,17 +11,17 @@
namespace System.Runtime.Serialization
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal sealed class ReflectionXmlFormatWriter
{
private readonly ReflectionXmlClassWriter _reflectionClassWriter = new ReflectionXmlClassWriter();
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
public void ReflectionWriteClass(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context, ClassDataContract classContract)
{
_reflectionClassWriter.ReflectionWriteClass(xmlWriter, obj, context, classContract, null/*memberNames*/);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
public static void ReflectionWriteCollection(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context, CollectionDataContract collectionDataContract)
{
XmlDictionaryString ns = collectionDataContract.Namespace;
......@@ -88,6 +88,7 @@ public static void ReflectionWriteCollection(XmlWriterDelegator xmlWriter, objec
}
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
private static bool ReflectionTryWritePrimitiveArray(XmlWriterDelegator xmlWriter, object obj, Type type, Type itemType, XmlDictionaryString collectionItemName, XmlDictionaryString itemNamespace)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(itemType);
......@@ -128,7 +129,6 @@ private static bool ReflectionTryWritePrimitiveArray(XmlWriterDelegator xmlWrite
internal sealed class ReflectionXmlClassWriter : ReflectionClassWriter
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override int ReflectionWriteMembers(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext context, ClassDataContract classContract, ClassDataContract derivedMostClassContract, int childElementIndex, XmlDictionaryString[]? emptyStringArray)
{
int memberCount = (classContract.BaseContract == null) ? 0 :
......
......@@ -36,7 +36,6 @@ private XmlSchemaSet Schemas
private XmlDocument XmlDoc => _xmlDoc ??= new XmlDocument();
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void Export()
{
try
......@@ -73,7 +72,6 @@ private void ExportSerializationSchema()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ExportDataContract(DataContract dataContract)
{
if (dataContract.IsBuiltInDataContract)
......@@ -114,7 +112,6 @@ private XmlSchemaElement ExportTopLevelElement(DataContract dataContract, XmlSch
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ExportClassDataContract(ClassDataContract classDataContract, XmlSchema schema)
{
XmlSchemaComplexType type = new XmlSchemaComplexType();
......@@ -246,7 +243,6 @@ private static XmlElement ExportActualType(XmlQualifiedName typeName, XmlDocumen
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private XmlElement ExportGenericInfo(Type clrType, string elementName, string elementNs)
{
Type? itemType;
......@@ -340,7 +336,6 @@ private XmlElement ExportGenericInfo(Type clrType, string elementName, string el
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ExportCollectionDataContract(CollectionDataContract collectionDataContract, XmlSchema schema)
{
XmlSchemaComplexType type = new XmlSchemaComplexType();
......@@ -443,7 +438,6 @@ internal static long GetDefaultEnumValue(bool isFlags, int index)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ExportISerializableDataContract(ClassDataContract dataContract, XmlSchema schema)
{
XmlSchemaComplexType type = new XmlSchemaComplexType();
......@@ -484,7 +478,6 @@ private static XmlSchemaComplexContentExtension CreateTypeContent(XmlSchemaCompl
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ExportXmlDataContract(XmlDataContract dataContract)
{
XmlQualifiedName? typeQName;
......@@ -572,7 +565,6 @@ private void ExportXmlDataContract(XmlDataContract dataContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static void GetXmlTypeInfo(Type type, out XmlQualifiedName stableName, out XmlSchemaType? xsdType, out bool hasRoot)
{
if (IsSpecialXmlType(type, out stableName!, out xsdType, out hasRoot))
......@@ -585,7 +577,6 @@ internal static void GetXmlTypeInfo(Type type, out XmlQualifiedName stableName,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static bool InvokeSchemaProviderMethod(Type clrType, XmlSchemaSet schemas, out XmlQualifiedName stableName, out XmlSchemaType? xsdType, out bool hasRoot)
{
xsdType = null;
......
......@@ -14,7 +14,6 @@ internal sealed class SurrogateDataContract : DataContract
private readonly SurrogateDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal SurrogateDataContract(Type type, ISerializationSurrogate serializationSurrogate)
: base(new SurrogateDataContractCriticalHelper(type, serializationSurrogate))
{
......@@ -27,7 +26,6 @@ internal ISerializationSurrogate SerializationSurrogate
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext? context)
{
Debug.Assert(context != null);
......@@ -64,7 +62,6 @@ private void SerializationSurrogateGetObjectData(object obj, SerializationInfo s
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context)
{
Debug.Assert(context != null);
......@@ -90,7 +87,6 @@ private sealed class SurrogateDataContractCriticalHelper : DataContract.DataCont
private readonly ISerializationSurrogate serializationSurrogate;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal SurrogateDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type,
......
......@@ -19,7 +19,6 @@ public static class XPathQueryGenerator
private const string NsSeparator = ":";
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static string CreateFromDataContractSerializer(Type type, MemberInfo[] pathToMember, out XmlNamespaceManager namespaces)
{
return CreateFromDataContractSerializer(type, pathToMember, null, out namespaces);
......@@ -27,7 +26,6 @@ public static string CreateFromDataContractSerializer(Type type, MemberInfo[] pa
// Here you can provide your own root element Xpath which will replace the Xpath of the top level element
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public static string CreateFromDataContractSerializer(Type type, MemberInfo[] pathToMember, StringBuilder? rootElementXpath, out XmlNamespaceManager namespaces)
{
ArgumentNullException.ThrowIfNull(type);
......@@ -56,7 +54,6 @@ public static string CreateFromDataContractSerializer(Type type, MemberInfo[] pa
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static DataContract ProcessDataContract(DataContract contract, ExportContext context, MemberInfo memberNode)
{
if (contract is ClassDataContract)
......@@ -67,7 +64,6 @@ private static DataContract ProcessDataContract(DataContract contract, ExportCon
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static DataContract ProcessClassDataContract(ClassDataContract contract, ExportContext context, MemberInfo memberNode)
{
string prefix = context.SetNamespace(contract.Namespace!.Value);
......
......@@ -22,7 +22,6 @@ internal sealed class XmlDataContract : DataContract
private readonly XmlDataContractCriticalHelper _helper;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal XmlDataContract(Type type) : base(new XmlDataContractCriticalHelper(type))
{
_helper = (base.Helper as XmlDataContractCriticalHelper)!;
......@@ -31,7 +30,6 @@ internal XmlDataContract(Type type) : base(new XmlDataContractCriticalHelper(typ
public override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{ return _helper.KnownDataContracts; }
......@@ -88,7 +86,6 @@ internal bool IsTopLevelElementNullable
internal CreateXmlSerializableDelegate CreateXmlSerializableDelegate
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
// We create XmlSerializableDelegate via CodeGen when CodeGen is enabled;
......@@ -130,7 +127,6 @@ private sealed class XmlDataContractCriticalHelper : DataContract.DataContractCr
private XmlSchemaType? _xsdType;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal XmlDataContractCriticalHelper(
[DynamicallyAccessedMembers(ClassDataContract.DataContractPreserveMemberTypes)]
Type type) : base(type)
......@@ -178,7 +174,6 @@ private sealed class XmlDataContractCriticalHelper : DataContract.DataContractCr
internal override DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (!_isKnownTypeAttributeChecked && UnderlyingType != null)
......@@ -259,7 +254,6 @@ internal bool IsTopLevelElementNullable
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal CreateXmlSerializableDelegate GenerateCreateXmlSerializableDelegate()
{
Type type = this.UnderlyingType;
......@@ -377,7 +371,6 @@ internal IXmlSerializable ReflectionCreateXmlSerializable(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, XmlObjectSerializerWriteContext? context)
{
if (context == null)
......@@ -387,7 +380,6 @@ public override void WriteXmlValue(XmlWriterDelegator xmlWriter, object obj, Xml
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public override object? ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext? context)
{
object? o;
......
......@@ -206,7 +206,6 @@ internal static PropertyInfo NodeTypeProperty
internal static ConstructorInfo HashtableCtor
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
if (s_hashtableCtor == null)
......@@ -760,7 +759,6 @@ internal static MethodInfo GetDefaultValueMethod
[UnconditionalSuppressMessage("ReflectionAnalysis", "IL2060:MakeGenericMethod",
Justification = "The call to MakeGenericMethod is safe due to the fact that XmlObjectSerializerWriteContext.GetDefaultValue is not annotated.")]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? GetDefaultValue(Type type)
{
return GetDefaultValueMethod.MakeGenericMethod(type).Invoke(null, Array.Empty<object>());
......
......@@ -31,21 +31,18 @@ public XmlFormatReaderGenerator()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlFormatClassReaderDelegate GenerateClassReader(ClassDataContract classContract)
{
return _helper.GenerateClassReader(classContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlFormatCollectionReaderDelegate GenerateCollectionReader(CollectionDataContract collectionContract)
{
return _helper.GenerateCollectionReader(collectionContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlFormatGetOnlyCollectionReaderDelegate GenerateGetOnlyCollectionReader(CollectionDataContract collectionContract)
{
return _helper.GenerateGetOnlyCollectionReader(collectionContract);
......@@ -68,14 +65,12 @@ private sealed class CriticalHelper
private ArgBuilder? _collectionContractArg;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static XmlFormatClassReaderDelegate CreateReflectionXmlClassReader(ClassDataContract classContract)
{
return new ReflectionXmlClassReader(classContract).ReflectionReadClass;
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlFormatClassReaderDelegate GenerateClassReader(ClassDataContract classContract)
{
if (DataContractSerializer.Option == SerializationOption.ReflectionOnly)
......@@ -166,14 +161,12 @@ public XmlFormatClassReaderDelegate GenerateClassReader(ClassDataContract classC
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static XmlFormatCollectionReaderDelegate CreateReflectionXmlCollectionReader()
{
return new ReflectionXmlCollectionReader().ReflectionReadCollection;
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlFormatCollectionReaderDelegate GenerateCollectionReader(CollectionDataContract collectionContract)
{
if (DataContractSerializer.Option == SerializationOption.ReflectionOnly)
......@@ -191,14 +184,12 @@ public XmlFormatCollectionReaderDelegate GenerateCollectionReader(CollectionData
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static XmlFormatGetOnlyCollectionReaderDelegate CreateReflectionReadGetOnlyCollectionReader()
{
return new ReflectionXmlCollectionReader().ReflectionReadGetOnlyCollection;
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlFormatGetOnlyCollectionReaderDelegate GenerateGetOnlyCollectionReader(CollectionDataContract collectionContract)
{
if (DataContractSerializer.Option == SerializationOption.ReflectionOnly)
......@@ -213,7 +204,6 @@ public XmlFormatGetOnlyCollectionReaderDelegate GenerateGetOnlyCollectionReader(
}
}
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CodeGenerator GenerateCollectionReaderHelper(CollectionDataContract collectionContract, bool isGetOnlyCollection)
{
_ilg = new CodeGenerator();
......@@ -350,7 +340,6 @@ private bool InvokeFactoryMethod(ClassDataContract classContract, LocalBuilder?
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadClass(ClassDataContract classContract)
{
if (classContract.HasExtensionData)
......@@ -376,7 +365,6 @@ private void ReadClass(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadMembers(ClassDataContract classContract, LocalBuilder? extensionDataLocal)
{
int memberCount = classContract.MemberNames!.Length;
......@@ -409,7 +397,6 @@ private void ReadMembers(ClassDataContract classContract, LocalBuilder? extensio
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private int ReadMembers(ClassDataContract classContract, bool[] requiredMembers, Label[] memberLabels, LocalBuilder memberIndexLocal, LocalBuilder? requiredIndexLocal)
{
Debug.Assert(_objectLocal != null);
......@@ -498,7 +485,6 @@ private void ReadISerializable(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private LocalBuilder ReadValue(Type type, string name, string ns)
{
LocalBuilder value = _ilg.DeclareLocal(type, "valueRead");
......@@ -606,7 +592,6 @@ private void InternalDeserialize(LocalBuilder value, Type type, string name, str
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WrapNullableObject(LocalBuilder innerValue, LocalBuilder outerValue, int nullables)
{
Type innerType = innerValue.LocalType, outerType = outerValue.LocalType;
......@@ -623,7 +608,6 @@ private void WrapNullableObject(LocalBuilder innerValue, LocalBuilder outerValue
[MemberNotNull(nameof(_objectLocal))]
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadCollection(CollectionDataContract collectionContract)
{
Type type = collectionContract.UnderlyingType;
......@@ -765,7 +749,6 @@ private void ReadCollection(CollectionDataContract collectionContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void ReadGetOnlyCollection(CollectionDataContract collectionContract)
{
Type type = collectionContract.UnderlyingType;
......@@ -829,7 +812,6 @@ private void ReadGetOnlyCollection(CollectionDataContract collectionContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool TryReadPrimitiveArray(Type type, Type itemType, LocalBuilder size)
{
Debug.Assert(_objectLocal != null);
......@@ -880,7 +862,6 @@ private bool TryReadPrimitiveArray(Type type, Type itemType, LocalBuilder size)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private LocalBuilder ReadCollectionItem(CollectionDataContract collectionContract, Type itemType, string itemName, string itemNs)
{
if (collectionContract.Kind == CollectionKind.Dictionary || collectionContract.Kind == CollectionKind.GenericDictionary)
......@@ -903,7 +884,6 @@ private LocalBuilder ReadCollectionItem(CollectionDataContract collectionContrac
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void StoreCollectionValue(LocalBuilder collection, LocalBuilder value, CollectionDataContract collectionContract)
{
Debug.Assert(collectionContract.AddMethod != null);
......
......@@ -28,14 +28,12 @@ public XmlFormatWriterGenerator()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal XmlFormatClassWriterDelegate GenerateClassWriter(ClassDataContract classContract)
{
return _helper.GenerateClassWriter(classContract);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal XmlFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDataContract collectionContract)
{
return _helper.GenerateCollectionWriter(collectionContract);
......@@ -62,14 +60,12 @@ private sealed class CriticalHelper
private int _childElementIndex;
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static XmlFormatClassWriterDelegate CreateReflectionXmlFormatClassWriterDelegate()
{
return new ReflectionXmlFormatWriter().ReflectionWriteClass;
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal XmlFormatClassWriterDelegate GenerateClassWriter(ClassDataContract classContract)
{
if (DataContractSerializer.Option == SerializationOption.ReflectionOnly)
......@@ -102,14 +98,12 @@ internal XmlFormatClassWriterDelegate GenerateClassWriter(ClassDataContract clas
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static XmlFormatCollectionWriterDelegate CreateReflectionXmlFormatCollectionWriterDelegate()
{
return ReflectionXmlFormatWriter.ReflectionWriteCollection;
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal XmlFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDataContract collectionContract)
{
if (DataContractSerializer.Option == SerializationOption.ReflectionOnly)
......@@ -142,7 +136,6 @@ internal XmlFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDa
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void InitArgs(Type objType)
{
_xmlWriterArg = _ilg.GetArg(0);
......@@ -209,7 +202,6 @@ private void InvokeOnSerialized(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteClass(ClassDataContract classContract)
{
InvokeOnSerializing(classContract);
......@@ -263,7 +255,6 @@ private void WriteClass(ClassDataContract classContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private int WriteMembers(ClassDataContract classContract, LocalBuilder? extensionDataLocal, ClassDataContract derivedMostClassContract)
{
int memberCount = (classContract.BaseContract == null) ? 0 :
......@@ -348,7 +339,6 @@ private LocalBuilder LoadMemberValue(DataMember member)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteCollection(CollectionDataContract collectionContract)
{
LocalBuilder itemNamespace = _ilg.DeclareLocal(typeof(XmlDictionaryString), "itemNamespace");
......@@ -515,7 +505,6 @@ private void WriteCollection(CollectionDataContract collectionContract)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool TryWritePrimitive(Type type, LocalBuilder? value, MemberInfo? memberInfo, LocalBuilder? arrayItemIndex, LocalBuilder ns, LocalBuilder? name, int nameIndex)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(type);
......@@ -563,7 +552,6 @@ private bool TryWritePrimitive(Type type, LocalBuilder? value, MemberInfo? membe
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool TryWritePrimitiveArray(Type type, Type itemType, LocalBuilder value, LocalBuilder itemName, LocalBuilder itemNamespace)
{
PrimitiveDataContract? primitiveContract = PrimitiveDataContract.GetPrimitiveDataContract(itemType);
......@@ -610,7 +598,6 @@ private bool TryWritePrimitiveArray(Type type, Type itemType, LocalBuilder value
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteValue(LocalBuilder memberValue, bool writeXsiType)
{
Type memberType = memberValue.LocalType;
......@@ -695,7 +682,6 @@ private void InternalSerialize(MethodInfo methodInfo, LocalBuilder memberValue,
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private LocalBuilder UnwrapNullableObject(LocalBuilder memberValue)// Leaves !HasValue on stack
{
Type memberType = memberValue.LocalType;
......
......@@ -17,17 +17,13 @@ namespace System.Runtime.Serialization
public abstract class XmlObjectSerializer
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract void WriteStartObject(XmlDictionaryWriter writer, object? graph);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract void WriteObjectContent(XmlDictionaryWriter writer, object? graph);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract void WriteEndObject(XmlDictionaryWriter writer);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteObject(Stream stream, object? graph)
{
ArgumentNullException.ThrowIfNull(stream);
......@@ -38,7 +34,6 @@ public virtual void WriteObject(Stream stream, object? graph)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteObject(XmlWriter writer, object? graph)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -47,7 +42,6 @@ public virtual void WriteObject(XmlWriter writer, object? graph)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteStartObject(XmlWriter writer, object? graph)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -56,7 +50,6 @@ public virtual void WriteStartObject(XmlWriter writer, object? graph)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteObjectContent(XmlWriter writer, object? graph)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -65,7 +58,6 @@ public virtual void WriteObjectContent(XmlWriter writer, object? graph)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteEndObject(XmlWriter writer)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -74,21 +66,18 @@ public virtual void WriteEndObject(XmlWriter writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual void WriteObject(XmlDictionaryWriter writer, object? graph)
{
WriteObjectHandleExceptions(new XmlWriterDelegator(writer), graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteObjectHandleExceptions(XmlWriterDelegator writer, object? graph)
{
WriteObjectHandleExceptions(writer, graph, null);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteObjectHandleExceptions(XmlWriterDelegator writer, object? graph, DataContractResolver? dataContractResolver)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -110,7 +99,6 @@ internal void WriteObjectHandleExceptions(XmlWriterDelegator writer, object? gra
internal virtual DataContractDictionary? KnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
return null;
......@@ -118,7 +106,6 @@ internal void WriteObjectHandleExceptions(XmlWriterDelegator writer, object? gra
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void InternalWriteObject(XmlWriterDelegator writer, object? graph)
{
WriteStartObject(writer.Writer, graph);
......@@ -127,28 +114,24 @@ internal virtual void InternalWriteObject(XmlWriterDelegator writer, object? gra
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void InternalWriteObject(XmlWriterDelegator writer, object? graph, DataContractResolver? dataContractResolver)
{
InternalWriteObject(writer, graph);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void InternalWriteStartObject(XmlWriterDelegator writer, object? graph)
{
DiagnosticUtility.DebugAssert("XmlObjectSerializer.InternalWriteStartObject should never get called");
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException());
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void InternalWriteObjectContent(XmlWriterDelegator writer, object? graph)
{
DiagnosticUtility.DebugAssert("XmlObjectSerializer.InternalWriteObjectContent should never get called");
throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotSupportedException());
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void InternalWriteEndObject(XmlWriterDelegator writer)
{
DiagnosticUtility.DebugAssert("XmlObjectSerializer.InternalWriteEndObject should never get called");
......@@ -156,7 +139,6 @@ internal virtual void InternalWriteEndObject(XmlWriterDelegator writer)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteStartObjectHandleExceptions(XmlWriterDelegator writer, object? graph)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -176,7 +158,6 @@ internal void WriteStartObjectHandleExceptions(XmlWriterDelegator writer, object
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteObjectContentHandleExceptions(XmlWriterDelegator writer, object? graph)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -198,7 +179,6 @@ internal void WriteObjectContentHandleExceptions(XmlWriterDelegator writer, obje
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteEndObjectHandleExceptions(XmlWriterDelegator writer)
{
ArgumentNullException.ThrowIfNull(writer);
......@@ -264,7 +244,6 @@ internal static bool IsContractDeclared(DataContract contract, DataContract decl
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual object? ReadObject(Stream stream)
{
ArgumentNullException.ThrowIfNull(stream);
......@@ -273,7 +252,6 @@ internal static bool IsContractDeclared(DataContract contract, DataContract decl
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual object? ReadObject(XmlReader reader)
{
ArgumentNullException.ThrowIfNull(reader);
......@@ -282,14 +260,12 @@ internal static bool IsContractDeclared(DataContract contract, DataContract decl
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual object? ReadObject(XmlDictionaryReader reader)
{
return ReadObjectHandleExceptions(new XmlReaderDelegator(reader), true /*verifyObjectName*/);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual object? ReadObject(XmlReader reader, bool verifyObjectName)
{
ArgumentNullException.ThrowIfNull(reader);
......@@ -298,11 +274,9 @@ internal static bool IsContractDeclared(DataContract contract, DataContract decl
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract object? ReadObject(XmlDictionaryReader reader, bool verifyObjectName);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public virtual bool IsStartObject(XmlReader reader)
{
ArgumentNullException.ThrowIfNull(reader);
......@@ -311,25 +285,21 @@ public virtual bool IsStartObject(XmlReader reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public abstract bool IsStartObject(XmlDictionaryReader reader);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual object? InternalReadObject(XmlReaderDelegator reader, bool verifyObjectName)
{
return ReadObject(reader.UnderlyingReader, verifyObjectName);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual object? InternalReadObject(XmlReaderDelegator reader, bool verifyObjectName, DataContractResolver? dataContractResolver)
{
return InternalReadObject(reader, verifyObjectName);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual bool InternalIsStartObject(XmlReaderDelegator reader)
{
DiagnosticUtility.DebugAssert("XmlObjectSerializer.InternalIsStartObject should never get called");
......@@ -337,14 +307,12 @@ internal virtual bool InternalIsStartObject(XmlReaderDelegator reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal object? ReadObjectHandleExceptions(XmlReaderDelegator reader, bool verifyObjectName)
{
return ReadObjectHandleExceptions(reader, verifyObjectName, null);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal object? ReadObjectHandleExceptions(XmlReaderDelegator reader, bool verifyObjectName, DataContractResolver? dataContractResolver)
{
ArgumentNullException.ThrowIfNull(reader);
......@@ -364,7 +332,6 @@ internal virtual bool InternalIsStartObject(XmlReaderDelegator reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal bool IsStartObjectHandleExceptions(XmlReaderDelegator reader)
{
ArgumentNullException.ThrowIfNull(reader);
......@@ -394,7 +361,6 @@ internal static bool IsStartElement(XmlReaderDelegator reader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static bool IsRootElement(XmlReaderDelegator reader, DataContract contract, XmlDictionaryString? name, XmlDictionaryString? ns)
{
reader.MoveToElement();
......
......@@ -99,14 +99,12 @@ internal bool IgnoreExtensionDataObject
_knownTypeResolver ??= new KnownTypeDataContractResolver(this);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal DataContract GetDataContract(Type type)
{
return GetDataContract(type.TypeHandle, type);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual DataContract GetDataContract(RuntimeTypeHandle typeHandle, Type? type)
{
if (IsGetOnlyCollection)
......@@ -120,7 +118,6 @@ internal virtual DataContract GetDataContract(RuntimeTypeHandle typeHandle, Type
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual DataContract GetDataContractSkipValidation(int typeId, RuntimeTypeHandle typeHandle, Type? type)
{
if (IsGetOnlyCollection)
......@@ -134,7 +131,6 @@ internal virtual DataContract GetDataContractSkipValidation(int typeId, RuntimeT
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual DataContract GetDataContract(int id, RuntimeTypeHandle typeHandle)
{
if (IsGetOnlyCollection)
......@@ -148,7 +144,6 @@ internal virtual DataContract GetDataContract(int id, RuntimeTypeHandle typeHand
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void CheckIfTypeSerializable(Type memberType, bool isMemberTypeSerializable)
{
if (!isMemberTypeSerializable)
......@@ -156,7 +151,6 @@ internal virtual void CheckIfTypeSerializable(Type memberType, bool isMemberType
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual Type GetSurrogatedType(Type type)
{
return type;
......@@ -164,7 +158,6 @@ internal virtual Type GetSurrogatedType(Type type)
internal virtual DataContractDictionary? SerializerKnownDataContracts
{
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
get
{
// This field must be initialized during construction by serializers using data contracts.
......@@ -178,7 +171,6 @@ internal virtual Type GetSurrogatedType(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private DataContract? GetDataContractFromSerializerKnownTypes(XmlQualifiedName qname)
{
DataContractDictionary? serializerKnownDataContracts = this.SerializerKnownDataContracts;
......@@ -189,7 +181,6 @@ internal virtual Type GetSurrogatedType(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static DataContractDictionary? GetDataContractsForKnownTypes(IList<Type> knownTypeList)
{
if (knownTypeList == null) return null;
......@@ -207,7 +198,6 @@ internal virtual Type GetSurrogatedType(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal bool IsKnownType(DataContract dataContract, DataContractDictionary? knownDataContracts, Type? declaredType)
{
bool knownTypesAddedInCurrentScope = false;
......@@ -227,7 +217,6 @@ internal bool IsKnownType(DataContract dataContract, DataContractDictionary? kno
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal bool IsKnownType(DataContract dataContract, Type? declaredType)
{
DataContract? knownContract = ResolveDataContractFromKnownTypes(dataContract.StableName.Name, dataContract.StableName.Namespace, null /*memberTypeContract*/, declaredType);
......@@ -235,7 +224,6 @@ internal bool IsKnownType(DataContract dataContract, Type? declaredType)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal Type? ResolveNameFromKnownTypes(XmlQualifiedName typeName)
{
DataContract? dataContract = ResolveDataContractFromKnownTypes(typeName);
......@@ -243,14 +231,12 @@ internal bool IsKnownType(DataContract dataContract, Type? declaredType)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private DataContract? ResolveDataContractFromKnownTypes(XmlQualifiedName typeName) =>
PrimitiveDataContract.GetPrimitiveDataContract(typeName.Name, typeName.Namespace) ??
scopedKnownTypes.GetDataContract(typeName) ??
GetDataContractFromSerializerKnownTypes(typeName);
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected DataContract? ResolveDataContractFromKnownTypes(string typeName, string? typeNs, DataContract? memberTypeContract, Type? declaredType)
{
XmlQualifiedName qname = new XmlQualifiedName(typeName, typeNs);
......@@ -284,7 +270,6 @@ internal bool IsKnownType(DataContract dataContract, Type? declaredType)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual DataContract? ResolveDataContractFromRootDataContract(XmlQualifiedName typeQName)
{
CollectionDataContract? collectionContract = rootTypeDataContract as CollectionDataContract;
......@@ -301,7 +286,6 @@ internal bool IsKnownType(DataContract dataContract, Type? declaredType)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void PushKnownTypes(DataContract dc)
{
if (dc != null && dc.KnownDataContracts != null)
......@@ -311,7 +295,6 @@ internal void PushKnownTypes(DataContract dc)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void PopKnownTypes(DataContract dc)
{
if (dc != null && dc.KnownDataContracts != null)
......
......@@ -82,7 +82,6 @@ internal XmlObjectSerializerReadContext(DataContractSerializer serializer, DataC
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual object? InternalDeserialize(XmlReaderDelegator xmlReader, int id, RuntimeTypeHandle declaredTypeHandle, string name, string ns)
{
DataContract dataContract = GetDataContract(id, declaredTypeHandle);
......@@ -90,7 +89,6 @@ internal XmlObjectSerializerReadContext(DataContractSerializer serializer, DataC
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual object? InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, string name, string ns)
{
DataContract dataContract = GetDataContract(declaredType);
......@@ -98,7 +96,6 @@ internal XmlObjectSerializerReadContext(DataContractSerializer serializer, DataC
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual object? InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract? dataContract, string? name, string? ns)
{
dataContract ??= GetDataContract(declaredType);
......@@ -131,7 +128,6 @@ protected bool TryHandleNullOrRef(XmlReaderDelegator reader, Type declaredType,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected object? InternalDeserialize(XmlReaderDelegator reader, string? name, string? ns, Type declaredType, ref DataContract dataContract)
{
object? retObj = null;
......@@ -212,7 +208,6 @@ internal static bool MoveToNextElement(XmlReaderDelegator xmlReader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal int GetMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, XmlDictionaryString[] memberNamespaces, int memberIndex, ExtensionDataObject? extensionData)
{
for (int i = memberIndex + 1; i < memberNames.Length; i++)
......@@ -225,7 +220,6 @@ internal int GetMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[]
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal int GetMemberIndexWithRequiredMembers(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, XmlDictionaryString[] memberNamespaces, int memberIndex, int requiredIndex, ExtensionDataObject? extensionData)
{
for (int i = memberIndex + 1; i < memberNames.Length; i++)
......@@ -257,7 +251,6 @@ internal static void ThrowRequiredMemberMissingException(XmlReaderDelegator xmlR
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected void HandleMemberNotFound(XmlReaderDelegator xmlReader, ExtensionDataObject? extensionData, int memberIndex)
{
xmlReader.MoveToContent();
......@@ -271,7 +264,6 @@ protected void HandleMemberNotFound(XmlReaderDelegator xmlReader, ExtensionDataO
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void HandleUnknownElement(XmlReaderDelegator xmlReader, ExtensionDataObject extensionData, int memberIndex)
{
extensionData.Members ??= new List<ExtensionDataMember>();
......@@ -285,7 +277,6 @@ internal void SkipUnknownElement(XmlReaderDelegator xmlReader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal string ReadIfNullOrRef(XmlReaderDelegator xmlReader, Type memberType, bool isMemberTypeSerializable)
{
Debug.Assert(attributes != null);
......@@ -462,7 +453,6 @@ internal void CheckEndOfArray(XmlReaderDelegator xmlReader, int arraySize, XmlDi
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal object? ReadIXmlSerializable(XmlReaderDelegator xmlReader, XmlDataContract xmlDataContract, bool isMemberType)
{
_xmlSerializableReader ??= new XmlSerializableReader();
......@@ -470,14 +460,12 @@ internal void CheckEndOfArray(XmlReaderDelegator xmlReader, int arraySize, XmlDi
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? ReadRootIXmlSerializable(XmlReaderDelegator xmlReader, XmlDataContract xmlDataContract, bool isMemberType)
{
return ReadIXmlSerializable(new XmlSerializableReader(), xmlReader, xmlDataContract, isMemberType);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal static object? ReadIXmlSerializable(XmlSerializableReader xmlSerializableReader, XmlReaderDelegator xmlReader, XmlDataContract xmlDataContract, bool isMemberType)
{
object? obj = null;
......@@ -509,7 +497,6 @@ internal void CheckEndOfArray(XmlReaderDelegator xmlReader, int arraySize, XmlDi
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public SerializationInfo ReadSerializationInfo(XmlReaderDelegator xmlReader, Type type)
{
var serInfo = new SerializationInfo(type, XmlObjectSerializer.FormatterConverter);
......@@ -554,7 +541,6 @@ public SerializationInfo ReadSerializationInfo(XmlReaderDelegator xmlReader, Typ
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual DataContract? ResolveDataContractFromTypeName()
{
Debug.Assert(attributes != null);
......@@ -563,7 +549,6 @@ public SerializationInfo ReadSerializationInfo(XmlReaderDelegator xmlReader, Typ
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private ExtensionDataMember ReadExtensionDataMember(XmlReaderDelegator xmlReader, int memberIndex)
{
var member = new ExtensionDataMember(xmlReader.LocalName, xmlReader.NamespaceURI)
......@@ -576,7 +561,6 @@ private ExtensionDataMember ReadExtensionDataMember(XmlReaderDelegator xmlReader
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public IDataNode? ReadExtensionDataValue(XmlReaderDelegator xmlReader)
{
ReadAttributes(xmlReader);
......@@ -675,7 +659,6 @@ protected virtual void StartReadExtensionDataValue(XmlReaderDelegator xmlReader)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private IDataNode ReadExtensionDataValue(XmlReaderDelegator xmlReader, string? dataContractName, string? dataContractNamespace)
{
Debug.Assert(attributes != null);
......@@ -750,7 +733,6 @@ private IDataNode ReadUnknownPrimitiveData(XmlReaderDelegator xmlReader, Type ty
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private ClassDataNode ReadUnknownClassData(XmlReaderDelegator xmlReader, string? dataContractName, string? dataContractNamespace)
{
var dataNode = new ClassDataNode();
......@@ -771,7 +753,6 @@ private ClassDataNode ReadUnknownClassData(XmlReaderDelegator xmlReader, string?
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private CollectionDataNode ReadUnknownCollectionData(XmlReaderDelegator xmlReader, string? dataContractName, string? dataContractNamespace)
{
Debug.Assert(attributes != null);
......@@ -828,7 +809,6 @@ private CollectionDataNode ReadUnknownCollectionData(XmlReaderDelegator xmlReade
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private ISerializableDataNode ReadUnknownISerializableData(XmlReaderDelegator xmlReader, string? dataContractName, string? dataContractNamespace)
{
Debug.Assert(attributes != null);
......@@ -907,7 +887,6 @@ private IDataNode ReadUnknownXmlData(XmlReaderDelegator xmlReader, string? dataC
// items be unqualified. If the XML only contains elements (no attributes or other nodes) is recognized as a
// class/class hierarchy. Otherwise it is deserialized as XML.
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private IDataNode ReadAndResolveUnknownXmlData(XmlReaderDelegator xmlReader, IDictionary<string, string>? namespaces,
string? dataContractName, string? dataContractNamespace)
{
......@@ -1054,7 +1033,6 @@ internal static Exception CreateSerializationException(string message)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual object? ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)
{
return dataContract.ReadXmlValue(reader, this);
......
......@@ -32,7 +32,6 @@ internal override SerializationMode Mode
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override object? InternalDeserialize(XmlReaderDelegator xmlReader, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle, string name, string ns)
{
if (_mode == SerializationMode.SharedContract)
......@@ -49,7 +48,6 @@ internal override SerializationMode Mode
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override object? InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, string name, string ns)
{
if (_mode == SerializationMode.SharedContract)
......@@ -66,7 +64,6 @@ internal override SerializationMode Mode
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override object? InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract? dataContract, string? name, string? ns)
{
if (_mode == SerializationMode.SharedContract)
......@@ -83,7 +80,6 @@ internal override SerializationMode Mode
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object? InternalDeserializeInSharedTypeMode(XmlReaderDelegator xmlReader, int declaredTypeID, Type declaredType, string? name, string? ns)
{
Debug.Assert(attributes != null);
......@@ -126,7 +122,6 @@ internal override SerializationMode Mode
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private object? InternalDeserializeWithSurrogate(XmlReaderDelegator xmlReader, Type declaredType, DataContract? surrogateDataContract, string? name, string? ns)
{
Debug.Assert(_serializationSurrogateProvider != null);
......@@ -154,7 +149,6 @@ private static Type ResolveDataContractTypeInSharedTypeMode(string assemblyName,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private DataContract? ResolveDataContractInSharedTypeMode(string assemblyName, string typeName, out Assembly assembly, out Type type)
{
type = ResolveDataContractTypeInSharedTypeMode(assemblyName, typeName, out assembly);
......@@ -167,7 +161,6 @@ private static Type ResolveDataContractTypeInSharedTypeMode(string assemblyName,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected override DataContract? ResolveDataContractFromTypeName()
{
Debug.Assert(attributes != null);
......@@ -187,7 +180,6 @@ private static Type ResolveDataContractTypeInSharedTypeMode(string assemblyName,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void CheckIfTypeSerializable(Type memberType, bool isMemberTypeSerializable)
{
if (_serializationSurrogateProvider != null)
......@@ -204,7 +196,6 @@ internal override void CheckIfTypeSerializable(Type memberType, bool isMemberTyp
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override Type GetSurrogatedType(Type type)
{
if (_serializationSurrogateProvider == null)
......
......@@ -80,7 +80,6 @@ internal void ResetIsGetOnlyCollection()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void InternalSerializeReference(XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
{
if (!OnHandleReference(xmlWriter, obj, true /*canContainCyclicReference*/))
......@@ -89,7 +88,6 @@ internal void InternalSerializeReference(XmlWriterDelegator xmlWriter, object ob
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void InternalSerialize(XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
{
if (writeXsiType)
......@@ -120,7 +118,6 @@ internal virtual void InternalSerialize(XmlWriterDelegator xmlWriter, object obj
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle declaredTypeHandle)
{
if (OnHandleIsReference(xmlWriter, dataContract, obj))
......@@ -138,7 +135,6 @@ internal void SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelega
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void SerializeWithXsiTypeAtTopLevel(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle originalDeclaredTypeHandle, Type graphType)
{
Debug.Assert(rootTypeDataContract != null);
......@@ -161,7 +157,6 @@ internal virtual void SerializeWithXsiTypeAtTopLevel(DataContract dataContract,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual void SerializeWithXsiType(XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle objectTypeHandle, Type? objectType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
{
bool verifyKnownType = false;
......@@ -226,7 +221,6 @@ internal bool OnHandleIsReference(XmlWriterDelegator xmlWriter, DataContract con
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected void SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, bool verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
{
bool knownTypesAddedInCurrentScope = false;
......@@ -287,7 +281,6 @@ internal virtual void WriteString(XmlWriterDelegator xmlWriter, string value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void WriteString(XmlWriterDelegator xmlWriter, string? value, XmlDictionaryString name, XmlDictionaryString? ns)
{
if (value == null)
......@@ -306,7 +299,6 @@ internal virtual void WriteBase64(XmlWriterDelegator xmlWriter, byte[] value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void WriteBase64(XmlWriterDelegator xmlWriter, byte[] value, XmlDictionaryString name, XmlDictionaryString ns)
{
if (value == null)
......@@ -325,7 +317,6 @@ internal virtual void WriteUri(XmlWriterDelegator xmlWriter, Uri value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void WriteUri(XmlWriterDelegator xmlWriter, Uri value, XmlDictionaryString name, XmlDictionaryString ns)
{
if (value == null)
......@@ -344,7 +335,6 @@ internal virtual void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName? value, XmlDictionaryString name, XmlDictionaryString? ns)
{
if (value == null)
......@@ -395,7 +385,6 @@ internal virtual void OnEndHandleReference(XmlWriterDelegator xmlWriter, object
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteNull(XmlWriterDelegator xmlWriter, Type memberType, bool isMemberTypeSerializable)
{
CheckIfTypeSerializable(memberType, isMemberTypeSerializable);
......@@ -403,7 +392,6 @@ internal void WriteNull(XmlWriterDelegator xmlWriter, Type memberType, bool isMe
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteNull(XmlWriterDelegator xmlWriter, Type memberType, bool isMemberTypeSerializable, XmlDictionaryString name, XmlDictionaryString? ns)
{
xmlWriter.WriteStartElement(name, ns);
......@@ -507,7 +495,6 @@ internal static void GetObjectData(ISerializable obj, SerializationInfo serInfo,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void WriteISerializable(XmlWriterDelegator xmlWriter, ISerializable obj)
{
Type objType = obj.GetType();
......@@ -524,7 +511,6 @@ public void WriteISerializable(XmlWriterDelegator xmlWriter, ISerializable obj)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteSerializationInfo(XmlWriterDelegator xmlWriter, Type objType, SerializationInfo serInfo)
{
if (DataContract.GetClrTypeFullName(objType) != serInfo.FullTypeName)
......@@ -566,7 +552,6 @@ internal void WriteSerializationInfo(XmlWriterDelegator xmlWriter, Type objType,
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual void WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, object obj, RuntimeTypeHandle declaredTypeHandle)
{
dataContract.WriteXmlValue(xmlWriter, obj, this);
......@@ -578,7 +563,6 @@ protected virtual void WriteNull(XmlWriterDelegator xmlWriter)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteResolvedTypeInfo(XmlWriterDelegator writer, Type objectType, Type declaredType)
{
XmlDictionaryString? typeName, typeNamespace;
......@@ -589,7 +573,6 @@ private void WriteResolvedTypeInfo(XmlWriterDelegator writer, Type objectType, T
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private bool ResolveType(Type objectType, Type declaredType, [NotNullWhen(true)] out XmlDictionaryString? typeName, [NotNullWhen(true)] out XmlDictionaryString? typeNamespace)
{
Debug.Assert(DataContractResolver != null);
......@@ -617,7 +600,6 @@ private bool ResolveType(Type objectType, Type declaredType, [NotNullWhen(true)]
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
protected virtual bool WriteTypeInfo(XmlWriterDelegator writer, DataContract contract, DataContract declaredContract)
{
if (!XmlObjectSerializer.IsContractDeclared(contract, declaredContract))
......@@ -647,7 +629,6 @@ protected virtual void WriteTypeInfo(XmlWriterDelegator writer, XmlDictionaryStr
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void WriteExtensionData(XmlWriterDelegator xmlWriter, ExtensionDataObject? extensionData, int memberIndex)
{
if (IgnoreExtensionDataObject || extensionData == null)
......@@ -668,7 +649,6 @@ public void WriteExtensionData(XmlWriterDelegator xmlWriter, ExtensionDataObject
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteExtensionDataMember(XmlWriterDelegator xmlWriter, ExtensionDataMember member)
{
xmlWriter.WriteStartElement(member.Name, member.Namespace);
......@@ -678,7 +658,6 @@ private void WriteExtensionDataMember(XmlWriterDelegator xmlWriter, ExtensionDat
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal virtual void WriteExtensionDataTypeInfo(XmlWriterDelegator xmlWriter, IDataNode dataNode)
{
if (dataNode.DataContractName != null)
......@@ -688,7 +667,6 @@ internal virtual void WriteExtensionDataTypeInfo(XmlWriterDelegator xmlWriter, I
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal void WriteExtensionDataValue(XmlWriterDelegator xmlWriter, IDataNode? dataNode)
{
IncrementItemCount(1);
......@@ -731,7 +709,6 @@ internal void WriteExtensionDataValue(XmlWriterDelegator xmlWriter, IDataNode? d
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal bool TryWriteDeserializedExtensionData(XmlWriterDelegator xmlWriter, IDataNode dataNode)
{
object? o = dataNode.Value;
......@@ -744,7 +721,6 @@ internal bool TryWriteDeserializedExtensionData(XmlWriterDelegator xmlWriter, ID
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteExtensionClassData(XmlWriterDelegator xmlWriter, ClassDataNode dataNode)
{
if (!TryWriteDeserializedExtensionData(xmlWriter, dataNode))
......@@ -763,7 +739,6 @@ private void WriteExtensionClassData(XmlWriterDelegator xmlWriter, ClassDataNode
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteExtensionCollectionData(XmlWriterDelegator xmlWriter, CollectionDataNode dataNode)
{
if (!TryWriteDeserializedExtensionData(xmlWriter, dataNode))
......@@ -786,7 +761,6 @@ private void WriteExtensionCollectionData(XmlWriterDelegator xmlWriter, Collecti
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteExtensionISerializableData(XmlWriterDelegator xmlWriter, ISerializableDataNode dataNode)
{
if (!TryWriteDeserializedExtensionData(xmlWriter, dataNode))
......@@ -811,7 +785,6 @@ private void WriteExtensionISerializableData(XmlWriterDelegator xmlWriter, ISeri
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void WriteExtensionXmlData(XmlWriterDelegator xmlWriter, XmlDataNode dataNode)
{
if (!TryWriteDeserializedExtensionData(xmlWriter, dataNode))
......
......@@ -62,7 +62,6 @@ internal override void WriteString(XmlWriterDelegator xmlWriter, string value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void WriteString(XmlWriterDelegator xmlWriter, string? value, XmlDictionaryString name, XmlDictionaryString? ns)
{
if (value == null)
......@@ -83,7 +82,6 @@ internal override void WriteBase64(XmlWriterDelegator xmlWriter, byte[] value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void WriteBase64(XmlWriterDelegator xmlWriter, byte[] value, XmlDictionaryString name, XmlDictionaryString ns)
{
if (value == null)
......@@ -104,7 +102,6 @@ internal override void WriteUri(XmlWriterDelegator xmlWriter, Uri value)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void WriteUri(XmlWriterDelegator xmlWriter, Uri value, XmlDictionaryString name, XmlDictionaryString ns)
{
if (value == null)
......@@ -125,7 +122,6 @@ internal override void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName? value, XmlDictionaryString name, XmlDictionaryString? ns)
{
if (value == null)
......@@ -143,7 +139,6 @@ internal override void WriteQName(XmlWriterDelegator xmlWriter, XmlQualifiedName
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void InternalSerialize(XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
{
if (_serializationSurrogateProvider == null)
......@@ -182,7 +177,6 @@ internal override void OnEndHandleReference(XmlWriterDelegator xmlWriter, object
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override void CheckIfTypeSerializable(Type memberType, bool isMemberTypeSerializable)
{
if (_serializationSurrogateProvider != null)
......@@ -199,7 +193,6 @@ internal override void CheckIfTypeSerializable(Type memberType, bool isMemberTyp
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
internal override Type GetSurrogatedType(Type type)
{
if (_serializationSurrogateProvider == null)
......@@ -223,7 +216,6 @@ internal override Type GetSurrogatedType(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void InternalSerializeWithSurrogate(XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
{
RuntimeTypeHandle objTypeHandle = isDeclaredType ? declaredTypeHandle : obj.GetType().TypeHandle;
......
......@@ -62,7 +62,6 @@ private static DataContractSet DataContractSet
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void Export(ICollection<Assembly> assemblies)
{
ArgumentNullException.ThrowIfNull(assemblies);
......@@ -90,7 +89,6 @@ public void Export(ICollection<Assembly> assemblies)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void Export(ICollection<Type> types)
{
ArgumentNullException.ThrowIfNull(types);
......@@ -115,7 +113,6 @@ public void Export(ICollection<Type> types)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public void Export(Type type)
{
ArgumentNullException.ThrowIfNull(type);
......@@ -134,7 +131,6 @@ public void Export(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlQualifiedName GetSchemaTypeName(Type type)
{
ArgumentNullException.ThrowIfNull(type);
......@@ -149,7 +145,6 @@ public XmlQualifiedName GetSchemaTypeName(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlSchemaType? GetSchemaType(Type type)
{
ArgumentNullException.ThrowIfNull(type);
......@@ -164,7 +159,6 @@ public XmlQualifiedName GetSchemaTypeName(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public XmlQualifiedName? GetRootElementName(Type type)
{
ArgumentNullException.ThrowIfNull(type);
......@@ -193,7 +187,6 @@ private static Type GetSurrogatedType(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static void CheckAndAddType(Type type)
{
type = GetSurrogatedType(type);
......@@ -202,14 +195,12 @@ private static void CheckAndAddType(Type type)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private static void AddType(Type type)
{
DataContractSet.Add(type);
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void Export()
{
AddKnownTypes();
......@@ -218,7 +209,6 @@ private void Export()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
private void AddKnownTypes()
{
if (Options != null)
......@@ -239,7 +229,6 @@ private void AddKnownTypes()
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public bool CanExport(ICollection<Assembly> assemblies)
{
ArgumentNullException.ThrowIfNull(assemblies);
......@@ -272,7 +261,6 @@ public bool CanExport(ICollection<Assembly> assemblies)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public bool CanExport(ICollection<Type> types)
{
ArgumentNullException.ThrowIfNull(types);
......@@ -302,7 +290,6 @@ public bool CanExport(ICollection<Type> types)
}
[RequiresUnreferencedCode(DataContract.SerializerTrimmerWarning)]
[RequiresDynamicCode(DataContract.SerializerAOTWarning)]
public bool CanExport(Type type)
{
ArgumentNullException.ThrowIfNull(type);
......
......@@ -26,25 +26,18 @@ namespace System.Runtime.Serialization.Json
public sealed partial class DataContractJsonSerializer : System.Runtime.Serialization.XmlObjectSerializer
{
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type, System.Collections.Generic.IEnumerable<System.Type>? knownTypes) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type, System.Runtime.Serialization.Json.DataContractJsonSerializerSettings? settings) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type, string? rootName) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type, string? rootName, System.Collections.Generic.IEnumerable<System.Type>? knownTypes) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type, System.Xml.XmlDictionaryString? rootName) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public DataContractJsonSerializer(System.Type type, System.Xml.XmlDictionaryString? rootName, System.Collections.Generic.IEnumerable<System.Type>? knownTypes) { }
public System.Runtime.Serialization.DateTimeFormat? DateTimeFormat { get { throw null; } }
public System.Runtime.Serialization.EmitTypeInformation EmitTypeInformation { get { throw null; } }
......@@ -54,52 +47,36 @@ public sealed partial class DataContractJsonSerializer : System.Runtime.Serializ
public bool SerializeReadOnlyTypes { get { throw null; } }
public bool UseSimpleDictionaryFormat { get { throw null; } }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override bool IsStartObject(System.Xml.XmlDictionaryReader reader) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override bool IsStartObject(System.Xml.XmlReader reader) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override object? ReadObject(System.IO.Stream stream) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override object? ReadObject(System.Xml.XmlDictionaryReader reader) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override object? ReadObject(System.Xml.XmlDictionaryReader reader, bool verifyObjectName) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override object? ReadObject(System.Xml.XmlReader reader) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override object? ReadObject(System.Xml.XmlReader reader, bool verifyObjectName) { throw null; }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteEndObject(System.Xml.XmlDictionaryWriter writer) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteEndObject(System.Xml.XmlWriter writer) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteObject(System.IO.Stream stream, object? graph) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteObject(System.Xml.XmlDictionaryWriter writer, object? graph) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteObject(System.Xml.XmlWriter writer, object? graph) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteObjectContent(System.Xml.XmlDictionaryWriter writer, object? graph) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteObjectContent(System.Xml.XmlWriter writer, object? graph) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteStartObject(System.Xml.XmlDictionaryWriter writer, object? graph) { }
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed. Make sure all of the required types are preserved.")]
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Data Contract Serialization and Deserialization might require types that cannot be statically analyzed.")]
public override void WriteStartObject(System.Xml.XmlWriter writer, object? graph) { }
}
public partial class DataContractJsonSerializerSettings
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册