Skip to content

Commit c1e84ab

Browse files
authored
Optimization: Mark some internal classes as sealed to help optimizer (#220)
* Optimization: Mark Visitor classes as `sealed` to help optimizer * Continue * Continue
1 parent 060b3db commit c1e84ab

File tree

90 files changed

+100
-100
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+100
-100
lines changed

Orm/Xtensive.Orm/Comparison/Internals/ValueTypeComparer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,4 @@ public override void OnDeserialization(object sender)
6565
Initialize();
6666
}
6767
}
68-
}
68+
}

Orm/Xtensive.Orm/Conversion/Internals/BooleanAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class BooleanAdvancedConverter :
12+
internal sealed class BooleanAdvancedConverter :
1313
StrictAdvancedConverterBase<bool>,
1414
IAdvancedConverter<bool, byte>,
1515
IAdvancedConverter<bool, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/ByteAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class ByteAdvancedConverter :
13+
internal sealed class ByteAdvancedConverter :
1414
StrictAdvancedConverterBase<byte>,
1515
IAdvancedConverter<byte, sbyte>,
1616
IAdvancedConverter<byte, short>,

Orm/Xtensive.Orm/Conversion/Internals/ByteRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class ByteRoughAdvancedConverter :
12+
internal sealed class ByteRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<byte, bool>
1515
{

Orm/Xtensive.Orm/Conversion/Internals/CharAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class CharAdvancedConverter :
12+
internal sealed class CharAdvancedConverter :
1313
StrictAdvancedConverterBase<char>,
1414
IAdvancedConverter<char, byte>,
1515
IAdvancedConverter<char, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/ConvertingEnumerator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
namespace Xtensive.Conversion
1313
{
1414
[Serializable]
15-
internal class ConvertingEnumerator<T1, T2> : IEnumerator<T2>
15+
internal sealed class ConvertingEnumerator<T1, T2> : IEnumerator<T2>
1616
{
1717
private IEnumerator<T1> innerEnumerator;
1818
private readonly Converter<T1, T2> converter;

Orm/Xtensive.Orm/Conversion/Internals/DateTimeAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class DateTimeAdvancedConverter :
13+
internal sealed class DateTimeAdvancedConverter :
1414
StrictAdvancedConverterBase<DateTime>,
1515
IAdvancedConverter<DateTime, byte>,
1616
IAdvancedConverter<DateTime, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/DateTimeRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class DateTimeRoughAdvancedConverter :
12+
internal sealed class DateTimeRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<DateTime, float>,
1515
IAdvancedConverter<DateTime, double>

Orm/Xtensive.Orm/Conversion/Internals/DecimalAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class DecimalAdvancedConverter :
13+
internal sealed class DecimalAdvancedConverter :
1414
StrictAdvancedConverterBase<decimal>,
1515
IAdvancedConverter<decimal, string>
1616
{

Orm/Xtensive.Orm/Conversion/Internals/DecimalRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class DecimalRoughAdvancedConverter :
12+
internal sealed class DecimalRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<decimal, bool>,
1515
IAdvancedConverter<decimal, byte>,

Orm/Xtensive.Orm/Conversion/Internals/DoubleAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class DoubleAdvancedConverter :
13+
internal sealed class DoubleAdvancedConverter :
1414
StrictAdvancedConverterBase<double>,
1515
IAdvancedConverter<double, string>
1616
{

Orm/Xtensive.Orm/Conversion/Internals/DoubleRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class DoubleRoughAdvancedConverter :
12+
internal sealed class DoubleRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<double, bool>,
1515
IAdvancedConverter<double, byte>,

Orm/Xtensive.Orm/Conversion/Internals/EnumAdvancedConverterFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class EnumAdvancedConverterFactory<TFrom> : IAdvancedConverterFactory<TFrom>
13+
internal sealed class EnumAdvancedConverterFactory<TFrom> : IAdvancedConverterFactory<TFrom>
1414
{
1515
private readonly IAdvancedConverterProvider provider;
1616

Orm/Xtensive.Orm/Conversion/Internals/EnumAdvancedConverter{TFrom, TTo, TUnderlyingFrom, TUnderlyingTo}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class EnumAdvancedConverter<TFrom, TTo, TUnderlyingFrom, TUnderlyingTo> : AdvancedConverterBase,
13+
internal sealed class EnumAdvancedConverter<TFrom, TTo, TUnderlyingFrom, TUnderlyingTo> : AdvancedConverterBase,
1414
IAdvancedConverter<TFrom, TTo>
1515
where TFrom : struct
1616
where TTo : struct

Orm/Xtensive.Orm/Conversion/Internals/EnumAdvancedConverter{TFrom, TTo}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class EnumAdvancedConverter<TFrom, TTo> : AdvancedConverterBase,
13+
internal class EnumAdvancedConverter<TFrom, TTo> : AdvancedConverterBase,
1414
IAdvancedConverter<TFrom, TTo>
1515
where TFrom : struct
1616
where TTo : struct

Orm/Xtensive.Orm/Conversion/Internals/GuidAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class GuidAdvancedConverter :
12+
internal sealed class GuidAdvancedConverter :
1313
StrictAdvancedConverterBase<Guid>,
1414
IAdvancedConverter<Guid, string>
1515
{

Orm/Xtensive.Orm/Conversion/Internals/Int16AdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class Int16AdvancedConverter :
13+
internal sealed class Int16AdvancedConverter :
1414
StrictAdvancedConverterBase<short>,
1515
IAdvancedConverter<short, byte>,
1616
IAdvancedConverter<short, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/Int16RoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class Int16RoughAdvancedConverter :
12+
internal sealed class Int16RoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<short, bool>
1515
{

Orm/Xtensive.Orm/Conversion/Internals/Int32AdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class Int32AdvancedConverter :
13+
internal sealed class Int32AdvancedConverter :
1414
StrictAdvancedConverterBase<int>,
1515
IAdvancedConverter<int, byte>,
1616
IAdvancedConverter<int, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/Int32RoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class Int32RoughAdvancedConverter :
12+
internal sealed class Int32RoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<int, bool>,
1515
IAdvancedConverter<int, float>

Orm/Xtensive.Orm/Conversion/Internals/Int64AdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class Int64AdvancedConverter :
13+
internal sealed class Int64AdvancedConverter :
1414
StrictAdvancedConverterBase<long>,
1515
IAdvancedConverter<long, byte>,
1616
IAdvancedConverter<long, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/Int64RoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class Int64RoughAdvancedConverter:
12+
internal sealed class Int64RoughAdvancedConverter:
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<long, bool>,
1515
IAdvancedConverter<long, float>,

Orm/Xtensive.Orm/Conversion/Internals/NullableAdvancedConverterFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class NullableAdvancedConverterFactory<TFrom> : IAdvancedConverterFactory<TFrom>
13+
internal sealed class NullableAdvancedConverterFactory<TFrom> : IAdvancedConverterFactory<TFrom>
1414
{
1515
private IAdvancedConverterProvider provider;
1616

Orm/Xtensive.Orm/Conversion/Internals/NullableForwardAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class NullableForwardAdvancedConverter<TFrom, TTo> : WrappingAdvancedConverter<TFrom?, TFrom, TTo, TTo>
12+
internal sealed class NullableForwardAdvancedConverter<TFrom, TTo> : WrappingAdvancedConverter<TFrom?, TFrom, TTo, TTo>
1313
where TFrom : struct
1414
{
1515
private static readonly bool toIsValueType = typeof (TTo).IsValueType;

Orm/Xtensive.Orm/Conversion/Internals/NullableNullableAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class NullableNullableAdvancedConverter<TFrom, TTo> : WrappingAdvancedConverter<TFrom?, TFrom, TTo?, TTo>
12+
internal sealed class NullableNullableAdvancedConverter<TFrom, TTo> : WrappingAdvancedConverter<TFrom?, TFrom, TTo?, TTo>
1313
where TFrom : struct
1414
where TTo : struct
1515
{

Orm/Xtensive.Orm/Conversion/Internals/NullableReverseAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class NullableReverseAdvancedConverter<TFrom, TTo> : WrappingAdvancedConverter<TFrom, TFrom, TTo?, TTo>
12+
internal sealed class NullableReverseAdvancedConverter<TFrom, TTo> : WrappingAdvancedConverter<TFrom, TFrom, TTo?, TTo>
1313
where TTo : struct
1414
{
1515
/// <inheritdoc/>

Orm/Xtensive.Orm/Conversion/Internals/ObjectAdvancedConverterFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class ObjectAdvancedConverterFactory<TFrom> :
13+
internal sealed class ObjectAdvancedConverterFactory<TFrom> :
1414
IAdvancedConverterFactory<TFrom>
1515
{
1616
private readonly IAdvancedConverterProvider provider;

Orm/Xtensive.Orm/Conversion/Internals/ObjectToBaseAdvancedConverter{TFrom, TTo}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class ObjectToBaseAdvancedConverter<TFrom, TTo> : AdvancedConverterBase,
12+
internal class ObjectToBaseAdvancedConverter<TFrom, TTo> : AdvancedConverterBase,
1313
IAdvancedConverter<TFrom, TTo>
1414
where TFrom : TTo
1515
{

Orm/Xtensive.Orm/Conversion/Internals/SByteRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class SByteRoughAdvancedConverter :
12+
internal sealed class SByteRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<sbyte, bool>
1515
{

Orm/Xtensive.Orm/Conversion/Internals/SingleRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class SingleRoughAdvancedConverter :
12+
internal sealed class SingleRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<float, bool>,
1515
IAdvancedConverter<float, byte>,

Orm/Xtensive.Orm/Conversion/Internals/StringAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class StringAdvancedConverter :
12+
internal sealed class StringAdvancedConverter :
1313
StrictAdvancedConverterBase<string>
1414
{
1515
// Constructors

Orm/Xtensive.Orm/Conversion/Internals/StringRoughAdvancedConverter{T}.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class StringRoughAdvancedConverter<T> :
12+
internal sealed class StringRoughAdvancedConverter<T> :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<T, string>
1515
{

Orm/Xtensive.Orm/Conversion/Internals/TimeSpanAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class TimeSpanAdvancedConverter :
12+
internal sealed class TimeSpanAdvancedConverter :
1313
StrictAdvancedConverterBase<TimeSpan>,
1414
IAdvancedConverter<TimeSpan, byte>,
1515
IAdvancedConverter<TimeSpan, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/TimeSpanRoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class TimeSpanRoughAdvancedConverter :
12+
internal sealed class TimeSpanRoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<TimeSpan, float>,
1515
IAdvancedConverter<TimeSpan, double>

Orm/Xtensive.Orm/Conversion/Internals/TypeAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class TypeAdvancedConverter :
12+
internal sealed class TypeAdvancedConverter :
1313
StrictAdvancedConverterBase<Type>,
1414
IAdvancedConverter<Type, string>,
1515
IAdvancedConverter<string, Type>

Orm/Xtensive.Orm/Conversion/Internals/UInt16AdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class UInt16AdvancedConverter :
13+
internal sealed class UInt16AdvancedConverter :
1414
StrictAdvancedConverterBase<ushort>,
1515
IAdvancedConverter<ushort, byte>,
1616
IAdvancedConverter<ushort, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/UInt16RoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class UInt16RoughAdvancedConverter :
12+
internal sealed class UInt16RoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<ushort, bool>
1515
{

Orm/Xtensive.Orm/Conversion/Internals/UInt32AdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class UInt32AdvancedConverter :
13+
internal sealed class UInt32AdvancedConverter :
1414
StrictAdvancedConverterBase<uint>,
1515
IAdvancedConverter<uint, byte>,
1616
IAdvancedConverter<uint, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/UInt32RoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class UInt32RoughAdvancedConverter :
12+
internal sealed class UInt32RoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<uint, bool>,
1515
IAdvancedConverter<uint, float>

Orm/Xtensive.Orm/Conversion/Internals/UInt64AdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
namespace Xtensive.Conversion
1111
{
1212
[Serializable]
13-
internal class UInt64AdvancedConverter :
13+
internal sealed class UInt64AdvancedConverter :
1414
StrictAdvancedConverterBase<ulong>,
1515
IAdvancedConverter<ulong, byte>,
1616
IAdvancedConverter<ulong, sbyte>,

Orm/Xtensive.Orm/Conversion/Internals/UInt64RoughAdvancedConverter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
namespace Xtensive.Conversion
1010
{
1111
[Serializable]
12-
internal class UInt64RoughAdvancedConverter :
12+
internal sealed class UInt64RoughAdvancedConverter :
1313
RoughAdvancedConverterBase,
1414
IAdvancedConverter<ulong, bool>,
1515
IAdvancedConverter<ulong, float>,

Orm/Xtensive.Orm/Linq/ExpressionReplacer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Xtensive.Linq
1212
/// <summary>
1313
/// Replaces references to one specific instance of an expression node with another node
1414
/// </summary>
15-
public class ExpressionReplacer : ExpressionVisitor
15+
public sealed class ExpressionReplacer : ExpressionVisitor
1616
{
1717
private readonly Expression searchFor;
1818
private readonly Expression replaceWith;

Orm/Xtensive.Orm/Modelling/Validation/ValidationContext.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ namespace Xtensive.Modelling.Validation
1616
/// Model validation context.
1717
/// </summary>
1818
[Serializable]
19-
internal class ValidationContext : IContext<ValidationScope>
19+
internal sealed class ValidationContext : IContext<ValidationScope>
2020
{
2121
private readonly HashSet<object> validated = new HashSet<object>();
2222

0 commit comments

Comments
 (0)