From ecdf7c2ea2fceab7ef01fe12dd01b472a369492c Mon Sep 17 00:00:00 2001 From: Andrei Sergeev Date: Thu, 24 Aug 2023 01:54:56 +0400 Subject: [PATCH] Add to FlatArrayExtensions factory methods (currently non-public) to accord with other factories --- .../Extensions.ToFlatArray.FromArray.cs | 5 +++++ .../Extensions.ToFlatArray.FromFlatArray.cs | 10 ++++++++++ .../Extensions.ToFlatArray.FromImmutableArray.cs | 10 ++++++++++ .../Extensions.ToFlatArray.FromList.cs | 5 +++++ 4 files changed, 30 insertions(+) diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs index c5b597f8..1e323670 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromArray.cs @@ -7,4 +7,9 @@ partial class FlatArrayExtensions public static FlatArray ToFlatArray([AllowNull] this T[] source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray([AllowNull] this T[] source, int start, int length) + => + FlatArray.InternalFromArrayChecked(source, start, length); } diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs index 3c5ac4ff..ce668b80 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromFlatArray.cs @@ -6,7 +6,17 @@ public static FlatArray ToFlatArray(this FlatArray source) => FlatArray.From(source); + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this FlatArray source, int start, int length) + => + FlatArray.InternalFromFlatArrayChecked(source, start, length); + public static FlatArray ToFlatArray(this FlatArray? source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this FlatArray? source, int start, int length) + => + FlatArray.InternalFromFlatArrayChecked(source.GetValueOrDefault(), start, length); } diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs index 542e7034..f6c5c853 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromImmutableArray.cs @@ -8,7 +8,17 @@ public static FlatArray ToFlatArray(this ImmutableArray source) => FlatArray.From(source); + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this ImmutableArray source, int start, int length) + => + FlatArray.InternalFromImmutableArrayChecked(source, start, length); + public static FlatArray ToFlatArray(this ImmutableArray? source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray(this ImmutableArray? source, int start, int length) + => + FlatArray.InternalFromImmutableArrayChecked(source.GetValueOrDefault(), start, length); } diff --git a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs index c842baf5..b695d7e6 100644 --- a/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs +++ b/src/flatcollections-array/FlatArray/FlatArrayExtensions/Extensions.ToFlatArray.FromList.cs @@ -8,4 +8,9 @@ partial class FlatArrayExtensions public static FlatArray ToFlatArray([AllowNull] this List source) => FlatArray.From(source); + + // TODO: Add the tests and make public + internal static FlatArray ToFlatArray([AllowNull] this List source, int start, int length) + => + FlatArray.InternalFromListChecked(source, start, length); }