This is an automated email from the ASF dual-hosted git repository. nightowl888 pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/lucenenet.git
commit 80abcf86fda050602e26132f0d78d7d0d7643733 Author: Shad Storhaug <[email protected]> AuthorDate: Wed Jul 1 01:21:59 2020 +0700 Lucene.Net.Util: Use Array.Empty<T>() when possible --- src/Lucene.Net/Util/Bits.cs | 10 ++++++++-- src/Lucene.Net/Util/BytesRef.cs | 7 ++++++- src/Lucene.Net/Util/CharsRef.cs | 8 ++++++-- src/Lucene.Net/Util/FieldCacheSanityChecker.cs | 4 ++++ src/Lucene.Net/Util/Fst/FST.cs | 7 ++++++- src/Lucene.Net/Util/IntsRef.cs | 7 ++++++- src/Lucene.Net/Util/LongsRef.cs | 7 ++++++- src/Lucene.Net/Util/PagedBytes.cs | 7 ++++++- src/Lucene.Net/Util/WAH8DocIdSet.cs | 7 +++++-- 9 files changed, 53 insertions(+), 11 deletions(-) diff --git a/src/Lucene.Net/Util/Bits.cs b/src/Lucene.Net/Util/Bits.cs index d1cbcf9..c267de9 100644 --- a/src/Lucene.Net/Util/Bits.cs +++ b/src/Lucene.Net/Util/Bits.cs @@ -1,3 +1,5 @@ +using System; + namespace Lucene.Net.Util { /* @@ -40,8 +42,12 @@ namespace Lucene.Net.Util public static class Bits { - public static readonly IBits[] EMPTY_ARRAY = new IBits[0]; - + public static readonly IBits[] EMPTY_ARRAY = +#if FEATURE_ARRAYEMPTY + Array.Empty<IBits>(); +#else + new IBits[0]; +#endif /// <summary> /// Bits impl of the specified length with all bits set. /// </summary> diff --git a/src/Lucene.Net/Util/BytesRef.cs b/src/Lucene.Net/Util/BytesRef.cs index 7697ecd..7398e5e 100644 --- a/src/Lucene.Net/Util/BytesRef.cs +++ b/src/Lucene.Net/Util/BytesRef.cs @@ -47,7 +47,12 @@ namespace Lucene.Net.Util { /// <summary> /// An empty byte array for convenience </summary> - public static readonly byte[] EMPTY_BYTES = new byte[0]; + public static readonly byte[] EMPTY_BYTES = +#if FEATURE_ARRAYEMPTY + Array.Empty<byte>(); +#else + new byte[0]; +#endif /// <summary> /// The contents of the BytesRef. Should never be <c>null</c>. diff --git a/src/Lucene.Net/Util/CharsRef.cs b/src/Lucene.Net/Util/CharsRef.cs index c84296c..9290237 100644 --- a/src/Lucene.Net/Util/CharsRef.cs +++ b/src/Lucene.Net/Util/CharsRef.cs @@ -41,8 +41,12 @@ namespace Lucene.Net.Util { /// <summary> /// An empty character array for convenience </summary> - public static readonly char[] EMPTY_CHARS = new char[0]; - + public static readonly char[] EMPTY_CHARS = +#if FEATURE_ARRAYEMPTY + Array.Empty<char>(); +#else + new char[0]; +#endif bool ICharSequence.HasValue => true; /// <summary> diff --git a/src/Lucene.Net/Util/FieldCacheSanityChecker.cs b/src/Lucene.Net/Util/FieldCacheSanityChecker.cs index ff58d0f..923b16e 100644 --- a/src/Lucene.Net/Util/FieldCacheSanityChecker.cs +++ b/src/Lucene.Net/Util/FieldCacheSanityChecker.cs @@ -105,7 +105,11 @@ namespace Lucene.Net.Util { if (null == cacheEntries || 0 == cacheEntries.Length) { +#if FEATURE_ARRAYEMPTY + return Array.Empty<Insanity>(); +#else return new Insanity[0]; +#endif } if (estimateRam) diff --git a/src/Lucene.Net/Util/Fst/FST.cs b/src/Lucene.Net/Util/Fst/FST.cs index ffb4661..b3c2a41 100644 --- a/src/Lucene.Net/Util/Fst/FST.cs +++ b/src/Lucene.Net/Util/Fst/FST.cs @@ -105,7 +105,12 @@ namespace Lucene.Net.Util.Fst /// <seealso cref= #shouldExpand(UnCompiledNode) </seealso> internal const int FIXED_ARRAY_NUM_ARCS_DEEP = 10;*/ - private int[] bytesPerArc = new int[0]; + private int[] bytesPerArc = +#if FEATURE_ARRAYEMPTY + Array.Empty<int>(); +#else + new int[0]; +#endif /*// Increment version to change it private const string FILE_FORMAT_NAME = "FST"; diff --git a/src/Lucene.Net/Util/IntsRef.cs b/src/Lucene.Net/Util/IntsRef.cs index 7d0b228..545dfac 100644 --- a/src/Lucene.Net/Util/IntsRef.cs +++ b/src/Lucene.Net/Util/IntsRef.cs @@ -45,7 +45,12 @@ namespace Lucene.Net.Util /// <para/> /// NOTE: This was EMPTY_INTS in Lucene /// </summary> - public static readonly int[] EMPTY_INT32S = new int[0]; + public static readonly int[] EMPTY_INT32S = +#if FEATURE_ARRAYEMPTY + Array.Empty<int>(); +#else + new int[0]; +#endif /// <summary> /// The contents of the <see cref="Int32sRef"/>. Should never be <c>null</c>. diff --git a/src/Lucene.Net/Util/LongsRef.cs b/src/Lucene.Net/Util/LongsRef.cs index 7a1f976..9717c28 100644 --- a/src/Lucene.Net/Util/LongsRef.cs +++ b/src/Lucene.Net/Util/LongsRef.cs @@ -45,7 +45,12 @@ namespace Lucene.Net.Util /// <para/> /// NOTE: This was EMPTY_LONGS in Lucene /// </summary> - public static readonly long[] EMPTY_INT64S = new long[0]; + public static readonly long[] EMPTY_INT64S = +#if FEATURE_ARRAYEMPTY + Array.Empty<long>(); +#else + new long[0]; +#endif /// <summary> /// The contents of the <see cref="Int64sRef"/>. Should never be <c>null</c>. diff --git a/src/Lucene.Net/Util/PagedBytes.cs b/src/Lucene.Net/Util/PagedBytes.cs index ad5fea3..145d1e8 100644 --- a/src/Lucene.Net/Util/PagedBytes.cs +++ b/src/Lucene.Net/Util/PagedBytes.cs @@ -51,7 +51,12 @@ namespace Lucene.Net.Util private byte[] currentBlock; private readonly long bytesUsedPerBlock; - private static readonly byte[] EMPTY_BYTES = new byte[0]; + private static readonly byte[] EMPTY_BYTES = +#if FEATURE_ARRAYEMPTY + Array.Empty<byte>(); +#else + new byte[0]; +#endif /// <summary> /// Provides methods to read <see cref="BytesRef"/>s from a frozen diff --git a/src/Lucene.Net/Util/WAH8DocIdSet.cs b/src/Lucene.Net/Util/WAH8DocIdSet.cs index b5f21fa..6679504 100644 --- a/src/Lucene.Net/Util/WAH8DocIdSet.cs +++ b/src/Lucene.Net/Util/WAH8DocIdSet.cs @@ -88,8 +88,11 @@ namespace Lucene.Net.Util public const int DEFAULT_INDEX_INTERVAL = 24; private static readonly MonotonicAppendingInt64Buffer SINGLE_ZERO_BUFFER = LoadSingleZeroBuffer(); - private static WAH8DocIdSet EMPTY = new WAH8DocIdSet(new byte[0], 0, 1, SINGLE_ZERO_BUFFER, SINGLE_ZERO_BUFFER); - +#if FEATURE_ARRAYEMPTY + private static WAH8DocIdSet EMPTY = new WAH8DocIdSet(Array.Empty<byte>(), 0, 1, SINGLE_ZERO_BUFFER, SINGLE_ZERO_BUFFER); +#else + private static WAH8DocIdSet EMPTY = new WAH8DocIdSet(new byte[0], 0, 1, SINGLE_ZERO_BUFFER, SINGLE_ZERO_BUFFER); +#endif private static MonotonicAppendingInt64Buffer LoadSingleZeroBuffer() // LUCENENET: Avoid static constructors (see https://github.com/apache/lucenenet/pull/224#issuecomment-469284006) { var buffer = new MonotonicAppendingInt64Buffer(1, 64, PackedInt32s.COMPACT);
