From a196d534495a1654ffd158211ca8761b1eba8c05 Mon Sep 17 00:00:00 2001 From: Eric Erhardt Date: Fri, 4 Sep 2020 08:43:13 -0500 Subject: [PATCH] DataContractSerialization cleanup (#41824) * Clean up DataContractSerialization - Remove DiagnosticUtility.IsFatal, which always returns false. - Remove dead CreateDelegate method - Fix a TODO-NULLABLE where MemberInfo will never be null * Clean up remaining #if USE_REFEMIT and other unused defines in DataContractSerialization --- .../Runtime/Serialization/AccessorBuilder.cs | 16 --- .../Runtime/Serialization/CodeGenerator.cs | 40 ------ .../Runtime/Serialization/DataContract.cs | 26 +--- .../Runtime/Serialization/DataMember.cs | 18 +-- .../Serialization/DiagnosticUtility.cs | 20 --- .../Serialization/ExtensionDataObject.cs | 8 -- .../Serialization/Json/JsonDataContract.cs | 4 - .../Serialization/Json/XmlJsonReader.cs | 5 - .../Serialization/XmlFormatReaderGenerator.cs | 1 - .../Serialization/XmlFormatWriterGenerator.cs | 4 - .../Serialization/XmlReaderDelegator.cs | 134 +----------------- .../Serialization/XmlWriterDelegator.cs | 123 ++-------------- .../Serialization/XsdDataContractExporter.cs | 101 ------------- .../src/System/Text/BinHexEncoding.cs | 7 +- .../src/System/Xml/XmlCanonicalWriter.cs | 31 ---- .../src/System/Xml/XmlUTF8TextReader.cs | 2 - 16 files changed, 21 insertions(+), 519 deletions(-) diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/AccessorBuilder.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/AccessorBuilder.cs index 5cbe9354655b5a..8052ffd0fd7c97 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/AccessorBuilder.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/AccessorBuilder.cs @@ -170,20 +170,4 @@ private static Setter CreateSetterInternal(Property } } } - - internal static class CreateDelegateExtension - { - // a generic extension for CreateDelegate - public static T CreateDelegate(this MethodInfo method) where T : class - { - try - { - return (method.CreateDelegate(typeof(T)) as T)!; - } - catch (Exception e) - { - throw new InvalidOperationException(SR.Format(SR.FailedToCreateMethodDelegate, method.Name, method.DeclaringType!.FullName), e); - } - } - } } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/CodeGenerator.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/CodeGenerator.cs index 42bee7c8e89c94..6d7033c5e90855 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/CodeGenerator.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/CodeGenerator.cs @@ -89,13 +89,6 @@ private static MethodInfo StringFormat private Type _delegateType = null!; // initialized in BeginMethod -#if USE_REFEMIT - AssemblyBuilder assemblyBuilder; - ModuleBuilder moduleBuilder; - TypeBuilder typeBuilder; - static int typeCounter; - MethodBuilder methodBuilder; -#else private static Module? s_serializationModule; private static Module SerializationModule { @@ -109,7 +102,6 @@ private static Module SerializationModule } } private DynamicMethod _dynamicMethod = null!; // initialized in BeginMethod -#endif private ILGenerator _ilGen = null!; // initialized in BeginMethod private List _argList = null!; // initialized in BeginMethod @@ -128,7 +120,6 @@ internal CodeGenerator() _codeGenTrace = CodeGenTrace.None; } -#if !USE_REFEMIT internal void BeginMethod(DynamicMethod dynamicMethod, Type delegateType, string methodName, Type[] argTypes, bool allowPrivateMemberAccess) { _dynamicMethod = dynamicMethod; @@ -137,7 +128,6 @@ internal void BeginMethod(DynamicMethod dynamicMethod, Type delegateType, string InitILGeneration(methodName, argTypes); } -#endif internal void BeginMethod(string methodName, Type delegateType, bool allowPrivateMemberAccess) { @@ -152,17 +142,9 @@ internal void BeginMethod(string methodName, Type delegateType, bool allowPrivat private void BeginMethod(Type returnType, string methodName, Type[] argTypes, bool allowPrivateMemberAccess) { -#if USE_REFEMIT - string typeName = "Type" + (typeCounter++); - InitAssemblyBuilder(typeName + "." + methodName); - this.typeBuilder = moduleBuilder.DefineType(typeName, TypeAttributes.Public); - this.methodBuilder = typeBuilder.DefineMethod(methodName, MethodAttributes.Public|MethodAttributes.Static, returnType, argTypes); - this.ilGen = this.methodBuilder.GetILGenerator(); -#else _dynamicMethod = new DynamicMethod(methodName, returnType, argTypes, SerializationModule, allowPrivateMemberAccess); _ilGen = _dynamicMethod.GetILGenerator(); -#endif InitILGeneration(methodName, argTypes); } @@ -186,15 +168,8 @@ internal Delegate EndMethod() Ret(); Delegate? retVal = null; -#if USE_REFEMIT - Type type = typeBuilder.CreateType(); - MethodInfo method = type.GetMethod(methodBuilder.Name); - retVal = Delegate.CreateDelegate(delegateType, method); - methodBuilder = null; -#else retVal = _dynamicMethod.CreateDelegate(_delegateType); _dynamicMethod = null!; -#endif _delegateType = null!; _ilGen = null!; @@ -207,11 +182,7 @@ internal MethodInfo CurrentMethod { get { -#if USE_REFEMIT - return methodBuilder; -#else return _dynamicMethod; -#endif } } @@ -1385,17 +1356,6 @@ private IfState PopIfState() return ifState; } -#if USE_REFEMIT - void InitAssemblyBuilder(string methodName) - { - AssemblyName name = new AssemblyName(); - name.Name = "Microsoft.GeneratedCode."+methodName; - //Add SecurityCritical and SecurityTreatAsSafe attributes to the generated method - assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(name, AssemblyBuilderAccess.Run); - moduleBuilder = assemblyBuilder.DefineDynamicModule(name.Name + ".dll", false); - } -#endif - [DoesNotReturn] private void ThrowMismatchException(object expected) { diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs index 3b79cf75a77a38..38e444c7cc29a9 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataContract.cs @@ -444,10 +444,6 @@ internal static int GetId(RuntimeTypeHandle typeHandle) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } throw DiagnosticUtility.ExceptionUtility.ThrowHelperFatal(ex.Message, ex); } } @@ -931,10 +927,6 @@ internal static string GetNamespace(string key) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } throw DiagnosticUtility.ExceptionUtility.ThrowHelperFatal(ex.Message, ex); } return key; @@ -955,10 +947,6 @@ internal static XmlDictionaryString GetClrTypeString(string key) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } throw DiagnosticUtility.ExceptionUtility.ThrowHelperFatal(ex.Message, ex); } } @@ -972,10 +960,6 @@ internal static XmlDictionaryString GetClrTypeString(string key) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } throw DiagnosticUtility.ExceptionUtility.ThrowHelperFatal(ex.Message, ex); } return value; @@ -996,10 +980,6 @@ internal static void ThrowInvalidDataContractException(string? message, Type? ty } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } throw DiagnosticUtility.ExceptionUtility.ThrowHelperFatal(ex.Message, ex); } } @@ -1290,12 +1270,8 @@ internal static bool IsValidNCName(string name) { return false; } - catch (Exception ex) + catch (Exception) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } return false; } } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataMember.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataMember.cs index b2ddbd1f220bca..7f475094c5d8bf 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataMember.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DataMember.cs @@ -232,21 +232,17 @@ internal DataContract MemberTypeContract { if (_memberTypeContract == null) { - if (MemberInfo != null) + if (this.IsGetOnlyCollection) { - if (this.IsGetOnlyCollection) - { - _memberTypeContract = DataContract.GetGetOnlyCollectionDataContract(DataContract.GetId(MemberType.TypeHandle), MemberType.TypeHandle, MemberType, SerializationMode.SharedContract); - } - else - { - _memberTypeContract = DataContract.GetDataContract(MemberType); - } + _memberTypeContract = DataContract.GetGetOnlyCollectionDataContract(DataContract.GetId(MemberType.TypeHandle), MemberType.TypeHandle, MemberType, SerializationMode.SharedContract); + } + else + { + _memberTypeContract = DataContract.GetDataContract(MemberType); } } - // TODO-NULLABLE - MemberInfo is never null, so this can never return null - return _memberTypeContract!; + return _memberTypeContract; } set { diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DiagnosticUtility.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DiagnosticUtility.cs index 019614307a14e1..2310c2d7f502f1 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DiagnosticUtility.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/DiagnosticUtility.cs @@ -37,26 +37,6 @@ public static void DebugAssert([DoesNotReturnIf(false)] bool condition, string m Debug.Assert(condition, message); } - internal static bool IsFatal(Exception? exception) - { - while (exception != null) - { - // These exceptions aren't themselves fatal, but since the CLR uses them to wrap other exceptions, - // we want to check to see whether they've been used to wrap a fatal exception. If so, then they - // count as fatal. - if (exception is TypeInitializationException) - { - exception = exception.InnerException; - } - else - { - break; - } - } - - return false; - } - internal static class ExceptionUtility { public static Exception ThrowHelperArgumentNull(string message) diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ExtensionDataObject.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ExtensionDataObject.cs index ade1186c43744f..b828cab0f81f38 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ExtensionDataObject.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/ExtensionDataObject.cs @@ -23,7 +23,6 @@ internal IList? Members } } - internal class ExtensionDataMember { private IDataNode? _value; @@ -114,13 +113,6 @@ public T GetValue() return _value; } -#if NotUsed - public void SetValue(T value) - { - this.value = value; - } -#endif - public string? DataContractName { get { return _dataContractName; } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonDataContract.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonDataContract.cs index be572739ab4f52..f0ad3d71763c14 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonDataContract.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/JsonDataContract.cs @@ -192,10 +192,6 @@ internal static int GetId(RuntimeTypeHandle typeHandle) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } throw DiagnosticUtility.ExceptionUtility.ThrowHelperFatal(ex.Message, ex); } } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs index b755f9b82c1680..a035f951261d4c 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/Json/XmlJsonReader.cs @@ -350,11 +350,6 @@ protected override void Dispose(bool disposing) } catch (Exception e) { - if (DiagnosticUtility.IsFatal(e)) - { - throw; - } - throw new InvalidOperationException(SR.GenericCallbackException, e); } } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatReaderGenerator.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatReaderGenerator.cs index 3008064bbd7e34..095cd8278ce7d2 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatReaderGenerator.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatReaderGenerator.cs @@ -950,7 +950,6 @@ internal static object UnsafeGetUninitializedObject(Type type) /// Safe - marked as such so that it's callable from transparent generated IL. Takes id as parameter which /// is guaranteed to be in internal serialization cache. /// - internal static object UnsafeGetUninitializedObject(int id) { var type = DataContract.GetDataContractForInitialization(id).TypeForInitialization; diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatWriterGenerator.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatWriterGenerator.cs index 3dcec49c72b31e..ee7dbdba7a059a 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatWriterGenerator.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlFormatWriterGenerator.cs @@ -43,7 +43,6 @@ internal XmlFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDa /// private class CriticalHelper { -#if !USE_REFEMIT private CodeGenerator _ilg = null!; // initialized in GenerateXXXWriter private ArgBuilder _xmlWriterArg = null!; // initialized in InitArgs private ArgBuilder _contextArg = null!; // initialized in InitArgs @@ -56,7 +55,6 @@ private class CriticalHelper private LocalBuilder? _childElementNamespacesLocal; private int _typeIndex = 1; private int _childElementIndex; -#endif private XmlFormatClassWriterDelegate CreateReflectionXmlFormatClassWriterDelegate() { @@ -130,7 +128,6 @@ internal XmlFormatCollectionWriterDelegate GenerateCollectionWriter(CollectionDa } } -#if !USE_REFEMIT private void InitArgs(Type objType) { _xmlWriterArg = _ilg.GetArg(0); @@ -763,7 +760,6 @@ private bool CheckIfConflictingMembersHaveDifferentTypes(DataMember member) } return false; } -#endif } } } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlReaderDelegator.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlReaderDelegator.cs index ca5b54dd6a2e34..8d21ec419b04b3 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlReaderDelegator.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlReaderDelegator.cs @@ -9,11 +9,7 @@ namespace System.Runtime.Serialization { -#if USE_REFEMIT - public class XmlReaderDelegator -#else internal class XmlReaderDelegator -#endif { protected XmlReader reader; protected XmlDictionaryReader? dictionaryReader; @@ -115,11 +111,7 @@ internal int IndexOfLocalName(XmlDictionaryString[] localNames, XmlDictionaryStr return -1; } -#if USE_REFEMIT - public bool IsStartElement() -#else internal bool IsStartElement() -#endif { return !isEndOfEmptyElement && reader.IsStartElement(); } @@ -129,11 +121,7 @@ internal bool IsStartElement(string localname, string ns) return !isEndOfEmptyElement && reader.IsStartElement(localname, ns); } -#if USE_REFEMIT - public bool IsStartElement(XmlDictionaryString localname, XmlDictionaryString ns) -#else internal bool IsStartElement(XmlDictionaryString localname, XmlDictionaryString ns) -#endif { if (dictionaryReader == null) return !isEndOfEmptyElement && reader.IsStartElement(localname.Value, ns.Value); @@ -173,11 +161,7 @@ internal bool MoveToNextAttribute() return isEndOfEmptyElement ? false : reader.MoveToNextAttribute(); } -#if USE_REFEMIT - public XmlNodeType NodeType -#else internal XmlNodeType NodeType -#endif { get { return isEndOfEmptyElement ? XmlNodeType.EndElement : reader.NodeType; } } @@ -211,11 +195,7 @@ internal bool ReadAttributeValue() return isEndOfEmptyElement ? false : reader.ReadAttributeValue(); } -#if USE_REFEMIT - public void ReadEndElement() -#else internal void ReadEndElement() -#endif { if (isEndOfEmptyElement) Read(); @@ -361,11 +341,7 @@ private void ThrowNotAtElement() throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.Format(SR.XmlStartElementExpected, "EndElement"))); } -#if USE_REFEMIT - public virtual char ReadElementContentAsChar() -#else internal virtual char ReadElementContentAsChar() -#endif { return ToChar(ReadElementContentAsInt()); } @@ -384,11 +360,7 @@ private char ToChar(int value) return (char)value; } -#if USE_REFEMIT - public string ReadElementContentAsString() -#else internal string ReadElementContentAsString() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -401,11 +373,7 @@ internal string ReadContentAsString() return isEndOfEmptyElement ? string.Empty : reader.ReadContentAsString(); } -#if USE_REFEMIT - public bool ReadElementContentAsBoolean() -#else internal bool ReadElementContentAsBoolean() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -421,11 +389,7 @@ internal bool ReadContentAsBoolean() return reader.ReadContentAsBoolean(); } -#if USE_REFEMIT - public float ReadElementContentAsFloat() -#else internal float ReadElementContentAsFloat() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -441,11 +405,7 @@ internal float ReadContentAsSingle() return reader.ReadContentAsFloat(); } -#if USE_REFEMIT - public double ReadElementContentAsDouble() -#else internal double ReadElementContentAsDouble() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -461,11 +421,7 @@ internal double ReadContentAsDouble() return reader.ReadContentAsDouble(); } -#if USE_REFEMIT - public decimal ReadElementContentAsDecimal() -#else internal decimal ReadElementContentAsDecimal() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -481,11 +437,7 @@ internal decimal ReadContentAsDecimal() return reader.ReadContentAsDecimal(); } -#if USE_REFEMIT - public virtual byte[] ReadElementContentAsBase64() -#else internal virtual byte[] ReadElementContentAsBase64() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -538,11 +490,7 @@ public virtual byte[] ReadContentAsBase64() } } -#if USE_REFEMIT - public virtual DateTime ReadElementContentAsDateTime() -#else internal virtual DateTime ReadElementContentAsDateTime() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -558,11 +506,7 @@ internal virtual DateTime ReadContentAsDateTime() return reader.ReadContentAsDateTime(); } -#if USE_REFEMIT - public int ReadElementContentAsInt() -#else internal int ReadElementContentAsInt() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -578,11 +522,7 @@ internal int ReadContentAsInt() return reader.ReadContentAsInt(); } -#if USE_REFEMIT - public long ReadElementContentAsLong() -#else internal long ReadElementContentAsLong() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -598,11 +538,7 @@ internal long ReadContentAsLong() return reader.ReadContentAsLong(); } -#if USE_REFEMIT - public short ReadElementContentAsShort() -#else internal short ReadElementContentAsShort() -#endif { return ToShort(ReadElementContentAsInt()); } @@ -621,11 +557,7 @@ private short ToShort(int value) return (short)value; } -#if USE_REFEMIT - public byte ReadElementContentAsUnsignedByte() -#else internal byte ReadElementContentAsUnsignedByte() -#endif { return ToByte(ReadElementContentAsInt()); } @@ -644,12 +576,7 @@ private byte ToByte(int value) return (byte)value; } -#if USE_REFEMIT - [CLSCompliant(false)] - public SByte ReadElementContentAsSignedByte() -#else internal sbyte ReadElementContentAsSignedByte() -#endif { return ToSByte(ReadElementContentAsInt()); } @@ -668,12 +595,7 @@ private sbyte ToSByte(int value) return (sbyte)value; } -#if USE_REFEMIT - [CLSCompliant(false)] - public UInt32 ReadElementContentAsUnsignedInt() -#else internal uint ReadElementContentAsUnsignedInt() -#endif { return ToUInt32(ReadElementContentAsLong()); } @@ -692,12 +614,7 @@ private uint ToUInt32(long value) return (uint)value; } -#if USE_REFEMIT - [CLSCompliant(false)] - public virtual UInt64 ReadElementContentAsUnsignedLong() -#else internal virtual ulong ReadElementContentAsUnsignedLong() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -720,12 +637,7 @@ internal virtual ulong ReadContentAsUnsignedLong() return XmlConverter.ToUInt64(str); } -#if USE_REFEMIT - [CLSCompliant(false)] - public UInt16 ReadElementContentAsUnsignedShort() -#else internal ushort ReadElementContentAsUnsignedShort() -#endif { return ToUInt16(ReadElementContentAsInt()); } @@ -744,11 +656,7 @@ private ushort ToUInt16(int value) return (ushort)value; } -#if USE_REFEMIT - public TimeSpan ReadElementContentAsTimeSpan() -#else internal TimeSpan ReadElementContentAsTimeSpan() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -763,11 +671,7 @@ internal TimeSpan ReadContentAsTimeSpan() return XmlConverter.ToTimeSpan(str); } -#if USE_REFEMIT - public Guid ReadElementContentAsGuid() -#else internal Guid ReadElementContentAsGuid() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -812,11 +716,7 @@ internal Guid ReadContentAsGuid() } } -#if USE_REFEMIT - public Uri ReadElementContentAsUri() -#else internal Uri ReadElementContentAsUri() -#endif { if (isEndOfEmptyElement) ThrowNotAtElement(); @@ -853,11 +753,7 @@ internal Uri ReadContentAsUri() } } -#if USE_REFEMIT - public XmlQualifiedName ReadElementContentAsQName() -#else internal XmlQualifiedName ReadElementContentAsQName() -#endif { Read(); XmlQualifiedName obj = ReadContentAsQName(); @@ -897,11 +793,7 @@ private void CheckActualArrayLength(int expectedLength, int actualLength, XmlDic throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(XmlObjectSerializer.CreateSerializationException(SR.Format(SR.ArrayExceededSizeAttribute, expectedLength, itemName.Value, itemNamespace.Value))); } -#if USE_REFEMIT - public bool TryReadBooleanArray(XmlObjectSerializerReadContext context, -#else internal bool TryReadBooleanArray(XmlObjectSerializerReadContext context, -#endif XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out bool[]? array) { @@ -931,11 +823,7 @@ internal bool TryReadBooleanArray(XmlObjectSerializerReadContext context, return true; } -#if USE_REFEMIT - public virtual bool TryReadDateTimeArray(XmlObjectSerializerReadContext context, -#else internal virtual bool TryReadDateTimeArray(XmlObjectSerializerReadContext context, -#endif XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out DateTime[]? array) { @@ -965,11 +853,7 @@ internal virtual bool TryReadDateTimeArray(XmlObjectSerializerReadContext contex return true; } -#if USE_REFEMIT - public bool TryReadDecimalArray(XmlObjectSerializerReadContext context, -#else internal bool TryReadDecimalArray(XmlObjectSerializerReadContext context, -#endif XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out decimal[]? array) { @@ -999,11 +883,7 @@ internal bool TryReadDecimalArray(XmlObjectSerializerReadContext context, return true; } -#if USE_REFEMIT - public bool TryReadInt32Array(XmlObjectSerializerReadContext context, -#else internal bool TryReadInt32Array(XmlObjectSerializerReadContext context, -#endif XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out int[]? array) { @@ -1033,11 +913,7 @@ internal bool TryReadInt32Array(XmlObjectSerializerReadContext context, return true; } -#if USE_REFEMIT - public bool TryReadInt64Array(XmlObjectSerializerReadContext context, -#else internal bool TryReadInt64Array(XmlObjectSerializerReadContext context, -#endif XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out long[]? array) { @@ -1067,12 +943,8 @@ internal bool TryReadInt64Array(XmlObjectSerializerReadContext context, return true; } -#if USE_REFEMIT - public bool TryReadSingleArray(XmlObjectSerializerReadContext context, -#else internal bool TryReadSingleArray(XmlObjectSerializerReadContext context, -#endif - XmlDictionaryString itemName, XmlDictionaryString itemNamespace, + XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out float[]? array) { if (dictionaryReader == null) @@ -1101,11 +973,7 @@ internal bool TryReadSingleArray(XmlObjectSerializerReadContext context, return true; } -#if USE_REFEMIT - public bool TryReadDoubleArray(XmlObjectSerializerReadContext context, -#else internal bool TryReadDoubleArray(XmlObjectSerializerReadContext context, -#endif XmlDictionaryString itemName, XmlDictionaryString itemNamespace, int arrayLength, [NotNullWhen(true)] out double[]? array) { diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlWriterDelegator.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlWriterDelegator.cs index cfe9539c6ccf5b..50f78a1dd4a48b 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlWriterDelegator.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XmlWriterDelegator.cs @@ -7,11 +7,7 @@ namespace System.Runtime.Serialization { -#if USE_REFEMIT - public class XmlWriterDelegator -#else internal class XmlWriterDelegator -#endif { protected XmlWriter writer; protected XmlDictionaryWriter? dictionaryWriter; @@ -45,11 +41,7 @@ private void WriteEndAttribute() writer.WriteEndAttribute(); } -#if USE_REFEMIT - public void WriteEndElement() -#else internal void WriteEndElement() -#endif { writer.WriteEndElement(); depth--; @@ -227,11 +219,7 @@ internal virtual void WriteStartElement(string? prefix, string localName, string _prefixes = 1; } -#if USE_REFEMIT - public void WriteStartElement(XmlDictionaryString localName, XmlDictionaryString namespaceUri) -#else internal void WriteStartElement(XmlDictionaryString localName, XmlDictionaryString? namespaceUri) -#endif { WriteStartElement(null, localName, namespaceUri); } @@ -274,11 +262,7 @@ internal XmlSpace XmlSpace get { return writer.XmlSpace; } } -#if USE_REFEMIT - public void WriteNamespaceDecl(XmlDictionaryString ns) -#else internal void WriteNamespaceDecl(XmlDictionaryString ns) -#endif { WriteXmlnsAttribute(ns); } @@ -459,11 +443,7 @@ internal virtual void WriteBoolean(bool value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteBoolean(bool value, XmlDictionaryString name, XmlDictionaryString? ns) -#else internal void WriteBoolean(bool value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteBoolean(value); @@ -475,11 +455,7 @@ internal virtual void WriteDateTime(DateTime value) WriteString(XmlConvert.ToString(value, XmlDateTimeSerializationMode.RoundtripKind)); } -#if USE_REFEMIT - public void WriteDateTime(DateTime value, XmlDictionaryString name, XmlDictionaryString? ns) -#else internal void WriteDateTime(DateTime value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteDateTime(value); @@ -490,11 +466,7 @@ internal virtual void WriteDecimal(decimal value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteDecimal(decimal value, XmlDictionaryString name, XmlDictionaryString? ns) -#else internal void WriteDecimal(decimal value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteDecimal(value); @@ -505,11 +477,8 @@ internal virtual void WriteDouble(double value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteDouble(double value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteDouble(double value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteDouble(value); @@ -520,11 +489,8 @@ internal virtual void WriteInt(int value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteInt(int value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteInt(int value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteInt(value); @@ -535,11 +501,8 @@ internal virtual void WriteLong(long value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteLong(long value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteLong(long value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteLong(value); @@ -550,11 +513,8 @@ internal virtual void WriteFloat(float value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteFloat(float value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteFloat(float value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteFloat(value); @@ -573,11 +533,8 @@ internal virtual void WriteShort(short value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteShort(short value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteShort(short value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteShort(value); @@ -588,11 +545,8 @@ internal virtual void WriteUnsignedByte(byte value) { writer.WriteValue(value); } -#if USE_REFEMIT - public void WriteUnsignedByte(byte value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteUnsignedByte(byte value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteUnsignedByte(value); @@ -603,12 +557,8 @@ internal virtual void WriteSignedByte(sbyte value) { writer.WriteValue(value); } -#if USE_REFEMIT - [CLSCompliant(false)] - public void WriteSignedByte(sbyte value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteSignedByte(sbyte value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteSignedByte(value); @@ -619,12 +569,8 @@ internal virtual void WriteUnsignedInt(uint value) { writer.WriteValue(value); } -#if USE_REFEMIT - [CLSCompliant(false)] - public void WriteUnsignedInt(uint value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteUnsignedInt(uint value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteUnsignedInt(value); @@ -635,12 +581,7 @@ internal virtual void WriteUnsignedLong(ulong value) { writer.WriteRaw(XmlConvert.ToString(value)); } -#if USE_REFEMIT - [CLSCompliant(false)] - public void WriteUnsignedLong(ulong value, XmlDictionaryString name, XmlDictionaryString? ns) -#else internal void WriteUnsignedLong(ulong value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteUnsignedLong(value); @@ -651,12 +592,8 @@ internal virtual void WriteUnsignedShort(ushort value) { writer.WriteValue(value); } -#if USE_REFEMIT - [CLSCompliant(false)] - public void WriteUnsignedShort(ushort value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteUnsignedShort(ushort value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteUnsignedShort(value); @@ -667,11 +604,8 @@ internal virtual void WriteChar(char value) { writer.WriteValue((int)value); } -#if USE_REFEMIT - public void WriteChar(char value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteChar(char value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteChar(value); @@ -690,11 +624,7 @@ internal void WriteTimeSpan(char value, XmlDictionaryString name, XmlDictionaryS WriteEndElementPrimitive(); } -#if USE_REFEMIT - public void WriteTimeSpan(TimeSpan value, XmlDictionaryString name, XmlDictionaryString? ns) -#else internal void WriteTimeSpan(TimeSpan value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteTimeSpan(value); @@ -705,11 +635,8 @@ internal void WriteGuid(Guid value) { writer.WriteRaw(value.ToString()); } -#if USE_REFEMIT - public void WriteGuid(Guid value, XmlDictionaryString name, XmlDictionaryString? ns) -#else + internal void WriteGuid(Guid value, XmlDictionaryString name, XmlDictionaryString? ns) -#endif { WriteStartElementPrimitive(name, ns); WriteGuid(value); @@ -750,11 +677,7 @@ internal void WriteQualifiedName(XmlDictionaryString localName, XmlDictionaryStr dictionaryWriter.WriteQualifiedName(localName, ns); } -#if USE_REFEMIT - public void WriteBooleanArray(bool[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteBooleanArray(bool[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { @@ -769,11 +692,7 @@ internal void WriteBooleanArray(bool[] value, XmlDictionaryString itemName, XmlD } } -#if USE_REFEMIT - public void WriteDateTimeArray(DateTime[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteDateTimeArray(DateTime[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { @@ -788,11 +707,7 @@ internal void WriteDateTimeArray(DateTime[] value, XmlDictionaryString itemName, } } -#if USE_REFEMIT - public void WriteDecimalArray(decimal[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteDecimalArray(decimal[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { @@ -807,11 +722,7 @@ internal void WriteDecimalArray(decimal[] value, XmlDictionaryString itemName, X } } -#if USE_REFEMIT - public void WriteInt32Array(int[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteInt32Array(int[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { @@ -826,11 +737,7 @@ internal void WriteInt32Array(int[] value, XmlDictionaryString itemName, XmlDict } } -#if USE_REFEMIT - public void WriteInt64Array(long[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteInt64Array(long[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { @@ -845,11 +752,7 @@ internal void WriteInt64Array(long[] value, XmlDictionaryString itemName, XmlDic } } -#if USE_REFEMIT - public void WriteSingleArray(float[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteSingleArray(float[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { @@ -864,11 +767,7 @@ internal void WriteSingleArray(float[] value, XmlDictionaryString itemName, XmlD } } -#if USE_REFEMIT - public void WriteDoubleArray(double[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#else internal void WriteDoubleArray(double[] value, XmlDictionaryString itemName, XmlDictionaryString itemNamespace) -#endif { if (dictionaryWriter == null) { diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XsdDataContractExporter.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XsdDataContractExporter.cs index d240e7885209b8..2ff80082ec9dce 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XsdDataContractExporter.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/XsdDataContractExporter.cs @@ -96,10 +96,6 @@ public void Export(ICollection assemblies) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } _dataContractSet = oldValue; TraceExportError(ex); throw; @@ -128,10 +124,6 @@ public void Export(ICollection types) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } _dataContractSet = oldValue; TraceExportError(ex); throw; @@ -154,10 +146,6 @@ public void Export(Type type) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } _dataContractSet = oldValue; TraceExportError(ex); throw; @@ -283,10 +271,6 @@ public bool CanExport(ICollection assemblies) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } _dataContractSet = oldValue; TraceExportError(ex); throw; @@ -317,10 +301,6 @@ public bool CanExport(ICollection types) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } _dataContractSet = oldValue; TraceExportError(ex); throw; @@ -346,91 +326,10 @@ public bool CanExport(Type type) } catch (Exception ex) { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } _dataContractSet = oldValue; TraceExportError(ex); throw; } } - -#if USE_REFEMIT - //Returns warnings - public IList GenerateCode(IList assemblies) - { - if (assemblies == null) - throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException(nameof(assemblies))); - List warnings = new List(); - - DataContractSet oldValue = (dataContractSet == null) ? null : new DataContractSet(dataContractSet); - try - { - for (int i=0; i < assemblies.Count; i++) - { - Assembly assembly = assemblies[i]; - if (assembly == null) - throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.Format(SR.CannotExportNullAssembly, "assemblies"))); - - Type[] types = assembly.GetTypes(); - for (int j=0; j < types.Length; j++) - { - try - { - CheckAndAddType(types[j]); - } - catch (Exception ex) - { - warnings.Add("Error on exporting Type " + DataContract.GetClrTypeFullName(types[j]) + ". " + ex.Message); - } - - } - } - - foreach (KeyValuePair pair in dataContractSet) - { - DataContract dataContract = pair.Value; - if (dataContract is ClassDataContract) - { - try - { - XmlFormatClassWriterDelegate writerMethod = ((ClassDataContract)dataContract).XmlFormatWriterDelegate; - XmlFormatClassReaderDelegate readerMethod = ((ClassDataContract)dataContract).XmlFormatReaderDelegate; - } - catch (Exception ex) - { - warnings.Add("Error on exporting Type " + dataContract.UnderlyingType + ". " + ex.Message); - } - } - else if (dataContract is CollectionDataContract) - { - try - { - XmlFormatCollectionWriterDelegate writerMethod = ((CollectionDataContract)dataContract).XmlFormatWriterDelegate; - XmlFormatCollectionReaderDelegate readerMethod = ((CollectionDataContract)dataContract).XmlFormatReaderDelegate; - } - catch (Exception ex) - { - warnings.Add("Error on exporting Type " + dataContract.UnderlyingType + ". " + ex.Message); - } - } - } - return warnings; - } - catch (Exception ex) - { - if (DiagnosticUtility.IsFatal(ex)) - { - throw; - } - dataContractSet = oldValue; - TraceExportError(ex); - throw; - } - } -#endif - } - } diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Text/BinHexEncoding.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Text/BinHexEncoding.cs index 98814281130ae7..959f916fcfaa24 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Text/BinHexEncoding.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Text/BinHexEncoding.cs @@ -53,12 +53,7 @@ public unsafe override int GetBytes(char[] chars, int charIndex, int charCount, } return byteCount; } -#if NO - public override Encoder GetEncoder() - { - return new BufferedEncoder(this, 2); - } -#endif + public override int GetMaxCharCount(int byteCount) { if (byteCount < 0 || byteCount > int.MaxValue / 2) diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlCanonicalWriter.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlCanonicalWriter.cs index 2bfed4ea108096..b7c740ae5c974d 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlCanonicalWriter.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlCanonicalWriter.cs @@ -577,37 +577,6 @@ public void WriteEscapedText(char[] chars, int offset, int count) } } -#if OLDWRITER - internal unsafe void WriteText(char* chars, int charCount) - { - ThrowIfClosed(); - if (inStartElement) - { - elementWriter.WriteText(chars, charCount); - } - else - { - writer.WriteText(chars, charCount); - } - } - internal unsafe void WriteEscapedText(char* chars, int count) - { - ThrowIfClosed(); - // Skip all white spaces before the start of root element. - if (this.depth > 0) - { - if (inStartElement) - { - elementWriter.WriteEscapedText(chars, count); - } - else - { - writer.WriteEscapedText(chars, count); - } - } - } -#endif - public void WriteText(int ch) { ThrowIfClosed(); diff --git a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs index 7d300f1451e7a2..bfa8557cee4b8c 100644 --- a/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs +++ b/src/libraries/System.Private.DataContractSerialization/src/System/Xml/XmlUTF8TextReader.cs @@ -602,8 +602,6 @@ public override void Close() } catch (Exception e) { - if (DiagnosticUtility.IsFatal(e)) throw; - throw DiagnosticUtility.ExceptionUtility.ThrowHelperCallback(e); } }