You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2020/07/29 17:11:12 UTC
[lucenenet] 07/14: PERFORMANCE: Use J2N's ICollection.ToArray()
extension method that uses ICollection.CopyTo(),
which takes precedence over the LINQ IEnumerable.ToArray() extension
method. Benchmarks show about a 1/3 increase in performance. (see #261)
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 5f9bcb999f6e2ce80a11d186a99400933722db7e
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Fri Jul 24 06:17:07 2020 +0700
PERFORMANCE: Use J2N's ICollection<T>.ToArray() extension method that uses ICollection<T>.CopyTo(), which takes precedence over the LINQ IEnumerable<T>.ToArray() extension method. Benchmarks show about a 1/3 increase in performance. (see #261)
---
.../Analysis/Pt/RSLPStemmerBase.cs | 4 +-
.../Analysis/Query/QueryAutoStopWordAnalyzer.cs | 4 +-
.../Analysis/Synonym/SlowSynonymMap.cs | 4 +-
.../OpenNLPChunkerFilter.cs | 5 +--
.../OpenNLPLemmatizerFilter.cs | 5 +--
.../OpenNLPPOSFilter.cs | 3 +-
.../ByTask/Feeds/EnwikiQueryMaker.cs | 4 +-
.../ByTask/Feeds/SimpleSloppyPhraseQueryMaker.cs | 3 +-
src/Lucene.Net.Benchmark/Quality/QualityQuery.cs | 4 +-
src/Lucene.Net.Benchmark/Quality/QualityStats.cs | 4 +-
.../Quality/Trec/QueryDriver.cs | 6 +--
.../Quality/Trec/Trec1MQReader.cs | 6 +--
.../Quality/Trec/TrecTopicsReader.cs | 6 +--
src/Lucene.Net.Facet/DrillSideways.cs | 4 +-
src/Lucene.Net.Facet/FacetsConfig.cs | 8 ++--
.../Highlight/QueryTermExtractor.cs | 4 +-
.../PostingsHighlight/PostingsHighlighter.cs | 2 +-
src/Lucene.Net.Memory/MemoryIndex.Info.cs | 38 ++++++++--------
.../MemoryIndex.MemoryIndexReader.cs | 40 ++++++++---------
src/Lucene.Net.Memory/MemoryIndex.TermComparer.cs | 38 ++++++++--------
.../Index/MultiPassIndexSplitter.cs | 4 +-
.../Index/Sorter/SortingMergePolicy.cs | 4 +-
src/Lucene.Net.Queries/CommonTermsQuery.cs | 4 +-
src/Lucene.Net.Queries/Mlt/MoreLikeThis.cs | 4 +-
.../Suggest/Analyzing/AnalyzingSuggester.cs | 4 +-
.../Analysis/BaseTokenStreamTestCase.cs | 2 +-
.../Index/AlcoholicMergePolicy.cs | 3 +-
.../Index/BaseStoredFieldsFormatTestCase.cs | 1 -
.../Search/ShardSearchingTestBase.cs | 2 +-
.../Miscellaneous/TestStemmerOverrideFilter.cs | 2 +-
.../Analysis/Miscellaneous/TestTrimFilter.cs | 3 +-
.../Analysis/Synonym/TestSlowSynonymFilter.cs | 3 +-
src/Lucene.Net.Tests.Facet/TestDrillSideways.cs | 9 ++--
src/Lucene.Net.Tests.Join/TestBlockJoin.cs | 11 +++--
.../Index/Sorter/SorterTestBase.cs | 3 +-
src/Lucene.Net.Tests.Misc/Util/Fst/TestFSTsMisc.cs | 43 +++++++++---------
.../Index/TestBackwardsCompatibility.cs | 1 +
src/Lucene.Net.Tests/Index/TestDocTermOrds.cs | 3 +-
src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs | 3 +-
src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs | 1 +
.../Search/TestMultiPhraseQuery.cs | 5 ++-
.../Search/TestPhrasePrefixQuery.cs | 6 +--
.../Util/Automaton/TestCompiledAutomaton.cs | 3 +-
.../Util/TestRecyclingByteBlockAllocator.cs | 1 +
.../Util/TestRecyclingIntBlockAllocator.cs | 1 +
src/Lucene.Net/Codecs/DocValuesConsumer.cs | 2 +-
src/Lucene.Net/Index/FieldInfos.cs | 2 +-
src/Lucene.Net/Index/FrozenBufferedUpdates.cs | 5 ++-
src/Lucene.Net/Index/MultiFields.cs | 2 +-
src/Lucene.Net/Index/MultiTerms.cs | 2 +-
src/Lucene.Net/Index/SegmentDocValues.cs | 2 +-
src/Lucene.Net/Index/SegmentMerger.cs | 2 +-
src/Lucene.Net/Index/StandardDirectoryReader.cs | 2 +-
src/Lucene.Net/Search/BooleanQuery.cs | 2 +-
src/Lucene.Net/Search/BooleanScorer2.cs | 2 +-
src/Lucene.Net/Search/DisjunctionMaxQuery.cs | 4 +-
src/Lucene.Net/Search/FieldCacheImpl.cs | 6 +--
src/Lucene.Net/Search/FuzzyTermsEnum.cs | 2 +-
src/Lucene.Net/Search/MinShouldMatchSumScorer.cs | 2 +-
src/Lucene.Net/Search/PhraseQuery.cs | 2 +-
src/Lucene.Net/Search/SloppyPhraseScorer.cs | 2 +-
src/Lucene.Net/Search/Spans/SpanNearQuery.cs | 2 +-
src/Lucene.Net/Search/Spans/SpanOrQuery.cs | 2 +-
src/Lucene.Net/Search/TopTermsRewrite.cs | 5 ++-
src/Lucene.Net/Store/CompoundFileDirectory.cs | 2 +-
src/Lucene.Net/Store/CompoundFileWriter.cs | 2 +-
src/Lucene.Net/Store/FileSwitchDirectory.cs | 2 +-
src/Lucene.Net/Store/NRTCachingDirectory.cs | 4 +-
src/Lucene.Net/Store/RAMDirectory.cs | 2 +-
src/Lucene.Net/Support/CollectionExtensions.cs | 51 ++++++++++++++++++++++
src/Lucene.Net/Support/Index/TaskMergeScheduler.cs | 3 +-
src/Lucene.Net/Support/SetExtensions.cs | 10 -----
src/Lucene.Net/Support/Util/ExceptionExtensions.cs | 3 +-
src/Lucene.Net/Support/WeakDictionary.cs | 4 +-
src/Lucene.Net/Util/Attribute.cs | 6 ---
src/Lucene.Net/Util/Automaton/Automaton.cs | 2 +-
src/Lucene.Net/Util/Automaton/SpecialOperations.cs | 1 +
src/Lucene.Net/Util/ByteBlockPool.cs | 2 +-
src/Lucene.Net/Util/QueryBuilder.cs | 2 +-
src/Lucene.Net/Util/SPIClassIterator.cs | 1 -
80 files changed, 244 insertions(+), 221 deletions(-)
diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Pt/RSLPStemmerBase.cs b/src/Lucene.Net.Analysis.Common/Analysis/Pt/RSLPStemmerBase.cs
index 0f4eb50..e47e0c1 100644
--- a/src/Lucene.Net.Analysis.Common/Analysis/Pt/RSLPStemmerBase.cs
+++ b/src/Lucene.Net.Analysis.Common/Analysis/Pt/RSLPStemmerBase.cs
@@ -1,11 +1,11 @@
-using J2N.Text;
+using J2N.Collections.Generic.Extensions;
+using J2N.Text;
using Lucene.Net.Analysis.Util;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
-using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Query/QueryAutoStopWordAnalyzer.cs b/src/Lucene.Net.Analysis.Common/Analysis/Query/QueryAutoStopWordAnalyzer.cs
index 243fa3b..98573e0 100644
--- a/src/Lucene.Net.Analysis.Common/Analysis/Query/QueryAutoStopWordAnalyzer.cs
+++ b/src/Lucene.Net.Analysis.Common/Analysis/Query/QueryAutoStopWordAnalyzer.cs
@@ -1,11 +1,11 @@
-using Lucene.Net.Analysis.Core;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis.Core;
using Lucene.Net.Analysis.Util;
using Lucene.Net.Index;
using Lucene.Net.Support;
using Lucene.Net.Util;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Analysis.Query
diff --git a/src/Lucene.Net.Analysis.Common/Analysis/Synonym/SlowSynonymMap.cs b/src/Lucene.Net.Analysis.Common/Analysis/Synonym/SlowSynonymMap.cs
index 35e49fb..bd896d3 100644
--- a/src/Lucene.Net.Analysis.Common/Analysis/Synonym/SlowSynonymMap.cs
+++ b/src/Lucene.Net.Analysis.Common/Analysis/Synonym/SlowSynonymMap.cs
@@ -1,10 +1,10 @@
-using Lucene.Net.Analysis.Util;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis.Util;
using Lucene.Net.Support;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
-using System.Linq;
using System.Text;
namespace Lucene.Net.Analysis.Synonym
diff --git a/src/Lucene.Net.Analysis.OpenNLP/OpenNLPChunkerFilter.cs b/src/Lucene.Net.Analysis.OpenNLP/OpenNLPChunkerFilter.cs
index 141b8a0..0dacec4 100644
--- a/src/Lucene.Net.Analysis.OpenNLP/OpenNLPChunkerFilter.cs
+++ b/src/Lucene.Net.Analysis.OpenNLP/OpenNLPChunkerFilter.cs
@@ -3,7 +3,6 @@ using Lucene.Net.Analysis.OpenNlp.Tools;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Util;
using System.Collections.Generic;
-using System.Linq;
namespace Lucene.Net.Analysis.OpenNlp
{
@@ -75,8 +74,8 @@ namespace Lucene.Net.Analysis.OpenNlp
private void NextSentence()
{
- IList<string> termList = new List<string>();
- IList<string> posTagList = new List<string>();
+ var termList = new List<string>();
+ var posTagList = new List<string>();
sentenceTokenAttrs.Clear();
bool endOfSentence = false;
while (!endOfSentence && (moreTokensAvailable = m_input.IncrementToken()))
diff --git a/src/Lucene.Net.Analysis.OpenNLP/OpenNLPLemmatizerFilter.cs b/src/Lucene.Net.Analysis.OpenNLP/OpenNLPLemmatizerFilter.cs
index 096516b..e981e25 100644
--- a/src/Lucene.Net.Analysis.OpenNLP/OpenNLPLemmatizerFilter.cs
+++ b/src/Lucene.Net.Analysis.OpenNLP/OpenNLPLemmatizerFilter.cs
@@ -3,7 +3,6 @@ using Lucene.Net.Analysis.OpenNlp.Tools;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Util;
using System.Collections.Generic;
-using System.Linq;
namespace Lucene.Net.Analysis.OpenNlp
{
@@ -92,8 +91,8 @@ namespace Lucene.Net.Analysis.OpenNlp
private void NextSentence()
{
- IList<string> tokenList = new List<string>();
- IList<string> typeList = new List<string>();
+ var tokenList = new List<string>();
+ var typeList = new List<string>();
sentenceTokenAttrs.Clear();
bool endOfSentence = false;
while (!endOfSentence && (moreTokensAvailable = m_input.IncrementToken()))
diff --git a/src/Lucene.Net.Analysis.OpenNLP/OpenNLPPOSFilter.cs b/src/Lucene.Net.Analysis.OpenNLP/OpenNLPPOSFilter.cs
index 0539efe..42f8230 100644
--- a/src/Lucene.Net.Analysis.OpenNLP/OpenNLPPOSFilter.cs
+++ b/src/Lucene.Net.Analysis.OpenNLP/OpenNLPPOSFilter.cs
@@ -3,7 +3,6 @@ using Lucene.Net.Analysis.OpenNlp.Tools;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Util;
using System.Collections.Generic;
-using System.Linq;
namespace Lucene.Net.Analysis.OpenNlp
{
@@ -74,7 +73,7 @@ namespace Lucene.Net.Analysis.OpenNlp
private string[] NextSentence()
{
- IList<string> termList = new List<string>();
+ var termList = new List<string>();
sentenceTokenAttrs.Clear();
bool endOfSentence = false;
while (!endOfSentence && (moreTokensAvailable = m_input.IncrementToken()))
diff --git a/src/Lucene.Net.Benchmark/ByTask/Feeds/EnwikiQueryMaker.cs b/src/Lucene.Net.Benchmark/ByTask/Feeds/EnwikiQueryMaker.cs
index 1527ce7..69179db 100644
--- a/src/Lucene.Net.Benchmark/ByTask/Feeds/EnwikiQueryMaker.cs
+++ b/src/Lucene.Net.Benchmark/ByTask/Feeds/EnwikiQueryMaker.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Analysis;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis;
using Lucene.Net.Analysis.Standard;
using Lucene.Net.Benchmarks.ByTask.Tasks;
using Lucene.Net.Index;
@@ -8,7 +9,6 @@ using Lucene.Net.Search.Spans;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
-using System.Linq;
using Console = Lucene.Net.Util.SystemConsole;
namespace Lucene.Net.Benchmarks.ByTask.Feeds
diff --git a/src/Lucene.Net.Benchmark/ByTask/Feeds/SimpleSloppyPhraseQueryMaker.cs b/src/Lucene.Net.Benchmark/ByTask/Feeds/SimpleSloppyPhraseQueryMaker.cs
index dea0d89..571fef0 100644
--- a/src/Lucene.Net.Benchmark/ByTask/Feeds/SimpleSloppyPhraseQueryMaker.cs
+++ b/src/Lucene.Net.Benchmark/ByTask/Feeds/SimpleSloppyPhraseQueryMaker.cs
@@ -2,7 +2,6 @@
using Lucene.Net.Index;
using Lucene.Net.Search;
using System.Collections.Generic;
-using System.Linq;
namespace Lucene.Net.Benchmarks.ByTask.Feeds
{
@@ -42,7 +41,7 @@ namespace Lucene.Net.Benchmarks.ByTask.Feeds
words = w.ToArray();
// create queries (that would find stuff) with varying slops
- IList<Query> queries = new List<Query>();
+ List<Query> queries = new List<Query>();
for (int slop = 0; slop < 8; slop++)
{
for (int qlen = 2; qlen < 6; qlen++)
diff --git a/src/Lucene.Net.Benchmark/Quality/QualityQuery.cs b/src/Lucene.Net.Benchmark/Quality/QualityQuery.cs
index ebb1b3d..4e4af17 100644
--- a/src/Lucene.Net.Benchmark/Quality/QualityQuery.cs
+++ b/src/Lucene.Net.Benchmark/Quality/QualityQuery.cs
@@ -1,8 +1,8 @@
-using J2N.Text;
+using J2N.Collections.Generic.Extensions;
+using J2N.Text;
using System;
using System.Collections.Generic;
using System.Globalization;
-using System.Linq;
namespace Lucene.Net.Benchmarks.Quality
{
diff --git a/src/Lucene.Net.Benchmark/Quality/QualityStats.cs b/src/Lucene.Net.Benchmark/Quality/QualityStats.cs
index df00676..2ed4e12 100644
--- a/src/Lucene.Net.Benchmark/Quality/QualityStats.cs
+++ b/src/Lucene.Net.Benchmark/Quality/QualityStats.cs
@@ -1,9 +1,9 @@
-using System;
+using J2N.Collections.Generic.Extensions;
+using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
-using System.Linq;
namespace Lucene.Net.Benchmarks.Quality
{
diff --git a/src/Lucene.Net.Benchmark/Quality/Trec/QueryDriver.cs b/src/Lucene.Net.Benchmark/Quality/Trec/QueryDriver.cs
index 5c5d024..bc44f5a 100644
--- a/src/Lucene.Net.Benchmark/Quality/Trec/QueryDriver.cs
+++ b/src/Lucene.Net.Benchmark/Quality/Trec/QueryDriver.cs
@@ -1,14 +1,14 @@
-using Lucene.Net.Benchmarks.Quality.Utils;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Benchmarks.Quality.Utils;
using Lucene.Net.Index;
using Lucene.Net.Search;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using System.Text;
-using JCG = J2N.Collections.Generic;
using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Benchmarks.Quality.Trec
{
diff --git a/src/Lucene.Net.Benchmark/Quality/Trec/Trec1MQReader.cs b/src/Lucene.Net.Benchmark/Quality/Trec/Trec1MQReader.cs
index 85dceda..d9be721 100644
--- a/src/Lucene.Net.Benchmark/Quality/Trec/Trec1MQReader.cs
+++ b/src/Lucene.Net.Benchmark/Quality/Trec/Trec1MQReader.cs
@@ -1,7 +1,7 @@
-using System;
+using J2N.Collections.Generic.Extensions;
+using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
namespace Lucene.Net.Benchmarks.Quality.Trec
{
@@ -83,7 +83,7 @@ namespace Lucene.Net.Benchmarks.Quality.Trec
{
reader.Dispose();
}
- // sort result array (by ID)
+ // sort result array (by ID)
QualityQuery[] qq = res.ToArray();
Array.Sort(qq);
return qq;
diff --git a/src/Lucene.Net.Benchmark/Quality/Trec/TrecTopicsReader.cs b/src/Lucene.Net.Benchmark/Quality/Trec/TrecTopicsReader.cs
index 5063313..eabc3ab 100644
--- a/src/Lucene.Net.Benchmark/Quality/Trec/TrecTopicsReader.cs
+++ b/src/Lucene.Net.Benchmark/Quality/Trec/TrecTopicsReader.cs
@@ -1,8 +1,8 @@
-using J2N.Text;
+using J2N.Collections.Generic.Extensions;
+using J2N.Text;
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using System.Text;
namespace Lucene.Net.Benchmarks.Quality.Trec
@@ -114,7 +114,7 @@ namespace Lucene.Net.Benchmarks.Quality.Trec
{
reader.Dispose();
}
- // sort result array (by ID)
+ // sort result array (by ID)
QualityQuery[] qq = res.ToArray();
Array.Sort(qq);
return qq;
diff --git a/src/Lucene.Net.Facet/DrillSideways.cs b/src/Lucene.Net.Facet/DrillSideways.cs
index 31fbaaa..f75c909 100644
--- a/src/Lucene.Net.Facet/DrillSideways.cs
+++ b/src/Lucene.Net.Facet/DrillSideways.cs
@@ -1,10 +1,10 @@
-using Lucene.Net.Facet.SortedSet;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Facet.SortedSet;
using Lucene.Net.Facet.Taxonomy;
using Lucene.Net.Search;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
namespace Lucene.Net.Facet
{
diff --git a/src/Lucene.Net.Facet/FacetsConfig.cs b/src/Lucene.Net.Facet/FacetsConfig.cs
index 300614a..ec0b835 100644
--- a/src/Lucene.Net.Facet/FacetsConfig.cs
+++ b/src/Lucene.Net.Facet/FacetsConfig.cs
@@ -1,9 +1,9 @@
-using Lucene.Net.Support;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Support;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using System.Text;
using System.Threading;
using JCG = J2N.Collections.Generic;
@@ -34,15 +34,15 @@ namespace Lucene.Net.Facet
using Document = Lucene.Net.Documents.Document;
using FacetLabel = Lucene.Net.Facet.Taxonomy.FacetLabel;
using Field = Lucene.Net.Documents.Field;
- using SingleAssociationFacetField = Lucene.Net.Facet.Taxonomy.SingleAssociationFacetField;
using IIndexableField = Lucene.Net.Index.IIndexableField;
using IIndexableFieldType = Lucene.Net.Index.IIndexableFieldType;
using Int32AssociationFacetField = Lucene.Net.Facet.Taxonomy.Int32AssociationFacetField;
using Int32sRef = Lucene.Net.Util.Int32sRef;
+ using ITaxonomyWriter = Lucene.Net.Facet.Taxonomy.ITaxonomyWriter;
+ using SingleAssociationFacetField = Lucene.Net.Facet.Taxonomy.SingleAssociationFacetField;
using SortedSetDocValuesFacetField = Lucene.Net.Facet.SortedSet.SortedSetDocValuesFacetField;
using SortedSetDocValuesField = Lucene.Net.Documents.SortedSetDocValuesField;
using StringField = Lucene.Net.Documents.StringField;
- using ITaxonomyWriter = Lucene.Net.Facet.Taxonomy.ITaxonomyWriter;
/// <summary>
/// Records per-dimension configuration. By default a
diff --git a/src/Lucene.Net.Highlighter/Highlight/QueryTermExtractor.cs b/src/Lucene.Net.Highlighter/Highlight/QueryTermExtractor.cs
index 5716f63..2f5c41d 100644
--- a/src/Lucene.Net.Highlighter/Highlight/QueryTermExtractor.cs
+++ b/src/Lucene.Net.Highlighter/Highlight/QueryTermExtractor.cs
@@ -1,9 +1,9 @@
-using J2N.Text;
+using J2N.Collections.Generic.Extensions;
+using J2N.Text;
using Lucene.Net.Index;
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Search.Highlight
diff --git a/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs b/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs
index 5911100..b894dbe 100644
--- a/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs
+++ b/src/Lucene.Net.Highlighter/PostingsHighlight/PostingsHighlighter.cs
@@ -1,4 +1,5 @@
#if FEATURE_BREAKITERATOR
+using J2N.Collections.Generic.Extensions;
using J2N.Text;
using ICU4N.Text;
using Lucene.Net.Analysis;
@@ -11,7 +12,6 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net.Memory/MemoryIndex.Info.cs b/src/Lucene.Net.Memory/MemoryIndex.Info.cs
index 2d2d8ff..3ca4ff7 100644
--- a/src/Lucene.Net.Memory/MemoryIndex.Info.cs
+++ b/src/Lucene.Net.Memory/MemoryIndex.Info.cs
@@ -1,29 +1,25 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
using Lucene.Net.Util;
using System;
namespace Lucene.Net.Index.Memory
{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
public partial class MemoryIndex
{
/// <summary>
diff --git a/src/Lucene.Net.Memory/MemoryIndex.MemoryIndexReader.cs b/src/Lucene.Net.Memory/MemoryIndex.MemoryIndexReader.cs
index 74b8090..2bf296e 100644
--- a/src/Lucene.Net.Memory/MemoryIndex.MemoryIndexReader.cs
+++ b/src/Lucene.Net.Memory/MemoryIndex.MemoryIndexReader.cs
@@ -1,24 +1,4 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Search;
using Lucene.Net.Search.Similarities;
using Lucene.Net.Util;
@@ -26,10 +6,26 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
namespace Lucene.Net.Index.Memory
{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
public partial class MemoryIndex
{
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/Lucene.Net.Memory/MemoryIndex.TermComparer.cs b/src/Lucene.Net.Memory/MemoryIndex.TermComparer.cs
index 6d4ad12..dde97f5 100644
--- a/src/Lucene.Net.Memory/MemoryIndex.TermComparer.cs
+++ b/src/Lucene.Net.Memory/MemoryIndex.TermComparer.cs
@@ -1,29 +1,25 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
using System;
using System.Collections.Generic;
namespace Lucene.Net.Index.Memory
{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
public partial class MemoryIndex
{
private class TermComparer
diff --git a/src/Lucene.Net.Misc/Index/MultiPassIndexSplitter.cs b/src/Lucene.Net.Misc/Index/MultiPassIndexSplitter.cs
index a24ca47..66d40b3 100644
--- a/src/Lucene.Net.Misc/Index/MultiPassIndexSplitter.cs
+++ b/src/Lucene.Net.Misc/Index/MultiPassIndexSplitter.cs
@@ -1,11 +1,11 @@
-using Lucene.Net.Store;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Store;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.IO;
-using System.Linq;
using Console = Lucene.Net.Util.SystemConsole;
namespace Lucene.Net.Index
diff --git a/src/Lucene.Net.Misc/Index/Sorter/SortingMergePolicy.cs b/src/Lucene.Net.Misc/Index/Sorter/SortingMergePolicy.cs
index 6fcb3eb..4692901 100644
--- a/src/Lucene.Net.Misc/Index/Sorter/SortingMergePolicy.cs
+++ b/src/Lucene.Net.Misc/Index/Sorter/SortingMergePolicy.cs
@@ -1,11 +1,11 @@
-using Lucene.Net.Search;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Search;
using Lucene.Net.Store;
using Lucene.Net.Util;
using Lucene.Net.Util.Packed;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
namespace Lucene.Net.Index.Sorter
{
diff --git a/src/Lucene.Net.Queries/CommonTermsQuery.cs b/src/Lucene.Net.Queries/CommonTermsQuery.cs
index 2651ba7..212345d 100644
--- a/src/Lucene.Net.Queries/CommonTermsQuery.cs
+++ b/src/Lucene.Net.Queries/CommonTermsQuery.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Index;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Index;
using Lucene.Net.Search;
using Lucene.Net.Util;
using System;
@@ -6,7 +7,6 @@ using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net.Queries/Mlt/MoreLikeThis.cs b/src/Lucene.Net.Queries/Mlt/MoreLikeThis.cs
index 0011d82..1a8574c 100644
--- a/src/Lucene.Net.Queries/Mlt/MoreLikeThis.cs
+++ b/src/Lucene.Net.Queries/Mlt/MoreLikeThis.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Analysis;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Documents;
using Lucene.Net.Index;
@@ -10,7 +11,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.IO;
-using System.Linq;
using System.Text;
namespace Lucene.Net.Queries.Mlt
diff --git a/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs b/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
index ff1de2a..3ec11c5 100644
--- a/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
+++ b/src/Lucene.Net.Suggest/Suggest/Analyzing/AnalyzingSuggester.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Analysis;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis;
using Lucene.Net.Store;
using Lucene.Net.Support;
using Lucene.Net.Support.IO;
@@ -9,7 +10,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Search.Suggest.Analyzing
diff --git a/src/Lucene.Net.TestFramework/Analysis/BaseTokenStreamTestCase.cs b/src/Lucene.Net.TestFramework/Analysis/BaseTokenStreamTestCase.cs
index 859e90c..dea1fa3 100644
--- a/src/Lucene.Net.TestFramework/Analysis/BaseTokenStreamTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Analysis/BaseTokenStreamTestCase.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Threading;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Documents;
@@ -8,7 +9,6 @@ using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
-using System.Linq;
using System.Text;
using System.Threading;
using Assert = Lucene.Net.TestFramework.Assert;
diff --git a/src/Lucene.Net.TestFramework/Index/AlcoholicMergePolicy.cs b/src/Lucene.Net.TestFramework/Index/AlcoholicMergePolicy.cs
index 7ae990b..610f473 100644
--- a/src/Lucene.Net.TestFramework/Index/AlcoholicMergePolicy.cs
+++ b/src/Lucene.Net.TestFramework/Index/AlcoholicMergePolicy.cs
@@ -1,6 +1,5 @@
using Lucene.Net.Util;
using System;
-using System.Linq;
namespace Lucene.Net.Index
{
@@ -56,7 +55,7 @@ namespace Lucene.Net.Index
if (hourOfDay < 6 || hourOfDay > 20 || random.Next(23) == 5)
// its 5 o'clock somewhere
{
- Drink[] values = Enum.GetValues(typeof(Drink)).Cast<Drink>().ToArray();
+ Drink[] values = (Drink[])Enum.GetValues(typeof(Drink));
// pick a random drink during the day
Drink drink = values[random.Next(values.Length - 1)];
return (long)drink * info.GetSizeInBytes();
diff --git a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
index 9e03dde..6e0dc32 100644
--- a/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
+++ b/src/Lucene.Net.TestFramework/Index/BaseStoredFieldsFormatTestCase.cs
@@ -17,7 +17,6 @@ using Lucene.Net.Util;
using System;
using System.Collections.Generic;
using System.Globalization;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
using Console = Lucene.Net.Util.SystemConsole;
diff --git a/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs b/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
index 453adae..6852ca0 100644
--- a/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
+++ b/src/Lucene.Net.TestFramework/Search/ShardSearchingTestBase.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Threading;
using Lucene.Net.Analysis;
using Lucene.Net.Index;
@@ -8,7 +9,6 @@ using Lucene.Net.Util;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
-using System.Linq;
using JCG = J2N.Collections.Generic;
using Console = Lucene.Net.Util.SystemConsole;
using Debug = Lucene.Net.Diagnostics.Debug; // LUCENENET NOTE: We cannot use System.Diagnostics.Debug because those calls will be optimized out of the release!
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestStemmerOverrideFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestStemmerOverrideFilter.cs
index 47450f1..dbf1573 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestStemmerOverrideFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestStemmerOverrideFilter.cs
@@ -1,8 +1,8 @@
using J2N;
+using J2N.Collections.Generic.Extensions;
using J2N.Text;
using Lucene.Net.Analysis.Core;
using Lucene.Net.Analysis.En;
-using Lucene.Net.Analysis.Miscellaneous;
using Lucene.Net.Util;
using NUnit.Framework;
using System.Collections.Generic;
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestTrimFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestTrimFilter.cs
index 1943883..92962dd 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestTrimFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Miscellaneous/TestTrimFilter.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Analysis.Core;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis.Core;
using Lucene.Net.Analysis.TokenAttributes;
using Lucene.Net.Util;
using NUnit.Framework;
diff --git a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Synonym/TestSlowSynonymFilter.cs b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Synonym/TestSlowSynonymFilter.cs
index 38167ea..54f01de 100644
--- a/src/Lucene.Net.Tests.Analysis.Common/Analysis/Synonym/TestSlowSynonymFilter.cs
+++ b/src/Lucene.Net.Tests.Analysis.Common/Analysis/Synonym/TestSlowSynonymFilter.cs
@@ -1,4 +1,5 @@
-using J2N.Text;
+using J2N.Collections.Generic.Extensions;
+using J2N.Text;
using Lucene.Net.Analysis.TokenAttributes;
using NUnit.Framework;
using System;
diff --git a/src/Lucene.Net.Tests.Facet/TestDrillSideways.cs b/src/Lucene.Net.Tests.Facet/TestDrillSideways.cs
index eb57574..b86b08d 100644
--- a/src/Lucene.Net.Tests.Facet/TestDrillSideways.cs
+++ b/src/Lucene.Net.Tests.Facet/TestDrillSideways.cs
@@ -1,4 +1,5 @@
-using J2N.Text;
+using J2N.Collections.Generic.Extensions;
+using J2N.Text;
using Lucene.Net.Search;
using Lucene.Net.Support;
using NUnit.Framework;
@@ -1061,7 +1062,7 @@ namespace Lucene.Net.Facet
{
int numDims = dimValues.Length;
- IList<Doc> hits = new List<Doc>();
+ List<Doc> hits = new List<Doc>();
Counters drillDownCounts = new Counters(dimValues);
Counters[] drillSidewaysCounts = new Counters[dimValues.Length];
for (int dim = 0; dim < numDims; dim++)
@@ -1151,9 +1152,7 @@ namespace Lucene.Net.Facet
idToDocID[s.Doc(i).Get("id")] = i;
}
- var hitsSorted = hits.ToArray();
- Array.Sort(hitsSorted);
- hits = hitsSorted.ToList();
+ hits.Sort();
TestFacetResult res = new TestFacetResult();
res.Hits = hits;
diff --git a/src/Lucene.Net.Tests.Join/TestBlockJoin.cs b/src/Lucene.Net.Tests.Join/TestBlockJoin.cs
index dfe0a0f..ac4199d 100644
--- a/src/Lucene.Net.Tests.Join/TestBlockJoin.cs
+++ b/src/Lucene.Net.Tests.Join/TestBlockJoin.cs
@@ -1,13 +1,13 @@
-using Lucene.Net.Analysis;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Analysis;
using Lucene.Net.Documents;
using Lucene.Net.Documents.Extensions;
-using Lucene.Net.Search.Grouping;
using Lucene.Net.Index;
using Lucene.Net.Index.Extensions;
using Lucene.Net.Join;
using Lucene.Net.Search;
+using Lucene.Net.Search.Grouping;
using Lucene.Net.Store;
-using Lucene.Net.Support;
using Lucene.Net.Util;
using NUnit.Framework;
using System;
@@ -15,7 +15,6 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using Console = Lucene.Net.Util.SystemConsole;
-using J2N.Collections.Generic.Extensions;
namespace Lucene.Net.Tests.Join
{
@@ -503,7 +502,7 @@ namespace Lucene.Net.Tests.Join
private Sort GetRandomSort(string prefix, int numFields)
{
- IList<SortField> sortFields = new List<SortField>();
+ List<SortField> sortFields = new List<SortField>();
// TODO: sometimes sort by score; problem is scores are
// not comparable across the two indices
// sortFields.Add(SortField.FIELD_SCORE);
@@ -805,7 +804,7 @@ namespace Lucene.Net.Tests.Join
}
// Merge both sorts:
- IList<SortField> sortFields = new List<SortField>(parentSort.GetSort());
+ List<SortField> sortFields = new List<SortField>(parentSort.GetSort());
sortFields.AddRange(childSort.GetSort());
Sort parentAndChildSort = new Sort(sortFields.ToArray());
diff --git a/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs b/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
index f09b96d..0d9eeeb 100644
--- a/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
+++ b/src/Lucene.Net.Tests.Misc/Index/Sorter/SorterTestBase.cs
@@ -12,7 +12,6 @@ using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Globalization;
-using System.Linq;
using Console = Lucene.Net.Util.SystemConsole;
namespace Lucene.Net.Index.Sorter
@@ -186,7 +185,7 @@ namespace Lucene.Net.Index.Sorter
if (Verbose)
{
- Console.WriteLine("Shuffled IDs for indexing: " + Arrays.ToString(ids.ToArray()));
+ Console.WriteLine("Shuffled IDs for indexing: " + Collections.ToString(ids));
}
PositionsTokenStream positions = new PositionsTokenStream();
diff --git a/src/Lucene.Net.Tests.Misc/Util/Fst/TestFSTsMisc.cs b/src/Lucene.Net.Tests.Misc/Util/Fst/TestFSTsMisc.cs
index 59ebe9d..f1e74c9 100644
--- a/src/Lucene.Net.Tests.Misc/Util/Fst/TestFSTsMisc.cs
+++ b/src/Lucene.Net.Tests.Misc/Util/Fst/TestFSTsMisc.cs
@@ -1,34 +1,31 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Store;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
-using JCG = J2N.Collections.Generic;
using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Util.Fst
{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
public class TestFSTsMisc : LuceneTestCase
{
private MockDirectoryWrapper dir;
@@ -67,7 +64,7 @@ namespace Lucene.Net.Util.Fst
{
int numWords = random.nextInt(maxNumWords + 1);
ISet<Int32sRef> termsSet = new JCG.HashSet<Int32sRef>();
- Int32sRef[] terms = new Int32sRef[numWords];
+ //Int32sRef[] terms = new Int32sRef[numWords]; // LUCENENET: Not used
while (termsSet.size() < numWords)
{
string term = FSTTester<object>.GetRandomString(random);
diff --git a/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs b/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs
index e1ebc0e..a19c6b4 100644
--- a/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs
+++ b/src/Lucene.Net.Tests/Index/TestBackwardsCompatibility.cs
@@ -1,4 +1,5 @@
using J2N;
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Index.Extensions;
using NUnit.Framework;
using System;
diff --git a/src/Lucene.Net.Tests/Index/TestDocTermOrds.cs b/src/Lucene.Net.Tests/Index/TestDocTermOrds.cs
index 23775e8..1ba122e 100644
--- a/src/Lucene.Net.Tests/Index/TestDocTermOrds.cs
+++ b/src/Lucene.Net.Tests/Index/TestDocTermOrds.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Documents;
using Lucene.Net.Index.Extensions;
using Lucene.Net.Search;
@@ -5,9 +6,9 @@ using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
-using JCG = J2N.Collections.Generic;
using Assert = Lucene.Net.TestFramework.Assert;
using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Index
{
diff --git a/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs b/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs
index ec0d023..d9bd693 100644
--- a/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs
+++ b/src/Lucene.Net.Tests/Index/TestMaxTermFrequency.cs
@@ -5,7 +5,6 @@ using Lucene.Net.Support;
using NUnit.Framework;
using System;
using System.Collections.Generic;
-using System.Linq;
using Assert = Lucene.Net.TestFramework.Assert;
namespace Lucene.Net.Index
@@ -109,7 +108,7 @@ namespace Lucene.Net.Index
expected.Add(max);
terms.Shuffle(Random);
- return Arrays.ToString(terms.ToArray());
+ return Collections.ToString(terms);
}
/// <summary>
diff --git a/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs b/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs
index a6d7ef3..c506b90 100644
--- a/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs
+++ b/src/Lucene.Net.Tests/Index/TestPostingsOffsets.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Documents;
using Lucene.Net.Index.Extensions;
using Lucene.Net.Search;
diff --git a/src/Lucene.Net.Tests/Search/TestMultiPhraseQuery.cs b/src/Lucene.Net.Tests/Search/TestMultiPhraseQuery.cs
index 504562e..086f81d 100644
--- a/src/Lucene.Net.Tests/Search/TestMultiPhraseQuery.cs
+++ b/src/Lucene.Net.Tests/Search/TestMultiPhraseQuery.cs
@@ -1,8 +1,9 @@
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Documents;
+using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
-using Lucene.Net.Documents;
-using NUnit.Framework;
using Assert = Lucene.Net.TestFramework.Assert;
using Console = Lucene.Net.Util.SystemConsole;
diff --git a/src/Lucene.Net.Tests/Search/TestPhrasePrefixQuery.cs b/src/Lucene.Net.Tests/Search/TestPhrasePrefixQuery.cs
index 319f4db..22f7bcd 100644
--- a/src/Lucene.Net.Tests/Search/TestPhrasePrefixQuery.cs
+++ b/src/Lucene.Net.Tests/Search/TestPhrasePrefixQuery.cs
@@ -1,8 +1,8 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Documents;
using NUnit.Framework;
+using System;
+using System.Collections.Generic;
using Assert = Lucene.Net.TestFramework.Assert;
namespace Lucene.Net.Search
diff --git a/src/Lucene.Net.Tests/Util/Automaton/TestCompiledAutomaton.cs b/src/Lucene.Net.Tests/Util/Automaton/TestCompiledAutomaton.cs
index 0d77750..1f19a77 100644
--- a/src/Lucene.Net.Tests/Util/Automaton/TestCompiledAutomaton.cs
+++ b/src/Lucene.Net.Tests/Util/Automaton/TestCompiledAutomaton.cs
@@ -1,10 +1,11 @@
+using J2N.Collections.Generic.Extensions;
using NUnit.Framework;
using System;
using System.Collections.Generic;
using System.Linq;
-using JCG = J2N.Collections.Generic;
using Assert = Lucene.Net.TestFramework.Assert;
using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Util.Automaton
{
diff --git a/src/Lucene.Net.Tests/Util/TestRecyclingByteBlockAllocator.cs b/src/Lucene.Net.Tests/Util/TestRecyclingByteBlockAllocator.cs
index ea4c360..9eba354 100644
--- a/src/Lucene.Net.Tests/Util/TestRecyclingByteBlockAllocator.cs
+++ b/src/Lucene.Net.Tests/Util/TestRecyclingByteBlockAllocator.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using NUnit.Framework;
using System;
using System.Collections.Generic;
diff --git a/src/Lucene.Net.Tests/Util/TestRecyclingIntBlockAllocator.cs b/src/Lucene.Net.Tests/Util/TestRecyclingIntBlockAllocator.cs
index f1c5b12..ab44866 100644
--- a/src/Lucene.Net.Tests/Util/TestRecyclingIntBlockAllocator.cs
+++ b/src/Lucene.Net.Tests/Util/TestRecyclingIntBlockAllocator.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using NUnit.Framework;
using System;
using System.Collections.Generic;
diff --git a/src/Lucene.Net/Codecs/DocValuesConsumer.cs b/src/Lucene.Net/Codecs/DocValuesConsumer.cs
index 0b90d3a..c16ef25 100644
--- a/src/Lucene.Net/Codecs/DocValuesConsumer.cs
+++ b/src/Lucene.Net/Codecs/DocValuesConsumer.cs
@@ -1,8 +1,8 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
namespace Lucene.Net.Codecs
{
diff --git a/src/Lucene.Net/Index/FieldInfos.cs b/src/Lucene.Net/Index/FieldInfos.cs
index 59bdcbc..46caee4 100644
--- a/src/Lucene.Net/Index/FieldInfos.cs
+++ b/src/Lucene.Net/Index/FieldInfos.cs
@@ -1,8 +1,8 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Index
diff --git a/src/Lucene.Net/Index/FrozenBufferedUpdates.cs b/src/Lucene.Net/Index/FrozenBufferedUpdates.cs
index d768c11..1e1080f 100644
--- a/src/Lucene.Net/Index/FrozenBufferedUpdates.cs
+++ b/src/Lucene.Net/Index/FrozenBufferedUpdates.cs
@@ -1,8 +1,8 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
namespace Lucene.Net.Index
{
@@ -68,7 +68,8 @@ namespace Lucene.Net.Index
{
this.isSegmentPrivate = isSegmentPrivate;
Debug.Assert(!isSegmentPrivate || deletes.terms.Count == 0, "segment private package should only have del queries");
- Term[] termsArray = deletes.terms.Keys.ToArray(/*new Term[deletes.Terms.Count]*/);
+ Term[] termsArray = deletes.terms.Keys.ToArray(/*new Term[deletes.terms.Count]*/);
+
termCount = termsArray.Length;
ArrayUtil.TimSort(termsArray);
PrefixCodedTerms.Builder builder = new PrefixCodedTerms.Builder();
diff --git a/src/Lucene.Net/Index/MultiFields.cs b/src/Lucene.Net/Index/MultiFields.cs
index 91e78c3..dfda748 100644
--- a/src/Lucene.Net/Index/MultiFields.cs
+++ b/src/Lucene.Net/Index/MultiFields.cs
@@ -1,8 +1,8 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Util;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Index
diff --git a/src/Lucene.Net/Index/MultiTerms.cs b/src/Lucene.Net/Index/MultiTerms.cs
index 35ae959..6cbcd43 100644
--- a/src/Lucene.Net/Index/MultiTerms.cs
+++ b/src/Lucene.Net/Index/MultiTerms.cs
@@ -1,7 +1,7 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
namespace Lucene.Net.Index
{
diff --git a/src/Lucene.Net/Index/SegmentDocValues.cs b/src/Lucene.Net/Index/SegmentDocValues.cs
index d5935b7..a9846f1 100644
--- a/src/Lucene.Net/Index/SegmentDocValues.cs
+++ b/src/Lucene.Net/Index/SegmentDocValues.cs
@@ -1,9 +1,9 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
-using System.Linq;
namespace Lucene.Net.Index
{
diff --git a/src/Lucene.Net/Index/SegmentMerger.cs b/src/Lucene.Net/Index/SegmentMerger.cs
index d5c4d74..8a2128f 100644
--- a/src/Lucene.Net/Index/SegmentMerger.cs
+++ b/src/Lucene.Net/Index/SegmentMerger.cs
@@ -1,9 +1,9 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Support;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Runtime.CompilerServices;
namespace Lucene.Net.Index
diff --git a/src/Lucene.Net/Index/StandardDirectoryReader.cs b/src/Lucene.Net/Index/StandardDirectoryReader.cs
index 5bb29c5..dd8c99a 100644
--- a/src/Lucene.Net/Index/StandardDirectoryReader.cs
+++ b/src/Lucene.Net/Index/StandardDirectoryReader.cs
@@ -1,8 +1,8 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Text;
namespace Lucene.Net.Index
diff --git a/src/Lucene.Net/Search/BooleanQuery.cs b/src/Lucene.Net/Search/BooleanQuery.cs
index 6ea6a67..59f225b 100644
--- a/src/Lucene.Net/Search/BooleanQuery.cs
+++ b/src/Lucene.Net/Search/BooleanQuery.cs
@@ -1,8 +1,8 @@
using J2N;
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections;
using System.Collections.Generic;
-using System.Linq;
#if FEATURE_SERIALIZABLE_EXCEPTIONS
using System.Runtime.Serialization;
#endif
diff --git a/src/Lucene.Net/Search/BooleanScorer2.cs b/src/Lucene.Net/Search/BooleanScorer2.cs
index ae4ace1..3daf92e 100644
--- a/src/Lucene.Net/Search/BooleanScorer2.cs
+++ b/src/Lucene.Net/Search/BooleanScorer2.cs
@@ -1,6 +1,6 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
-using System.Linq;
namespace Lucene.Net.Search
{
diff --git a/src/Lucene.Net/Search/DisjunctionMaxQuery.cs b/src/Lucene.Net/Search/DisjunctionMaxQuery.cs
index 04184a5..be1c56a 100644
--- a/src/Lucene.Net/Search/DisjunctionMaxQuery.cs
+++ b/src/Lucene.Net/Search/DisjunctionMaxQuery.cs
@@ -1,8 +1,8 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Util;
using System;
using System.Collections;
using System.Collections.Generic;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
@@ -66,7 +66,7 @@ namespace Lucene.Net.Search
/// <summary>
/// Multiple of the non-max disjunct scores added into our final score. Non-zero values support tie-breaking.
/// </summary>
- private float tieBreakerMultiplier = 0.0f;
+ private readonly float tieBreakerMultiplier = 0.0f;
/// <summary>
/// Creates a new empty <see cref="DisjunctionMaxQuery"/>. Use <see cref="Add(Query)"/> to add the subqueries. </summary>
diff --git a/src/Lucene.Net/Search/FieldCacheImpl.cs b/src/Lucene.Net/Search/FieldCacheImpl.cs
index 61b4e2e..42c9be4 100644
--- a/src/Lucene.Net/Search/FieldCacheImpl.cs
+++ b/src/Lucene.Net/Search/FieldCacheImpl.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Index;
using Lucene.Net.Support;
using Lucene.Net.Support.IO;
@@ -6,7 +7,6 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Runtime.CompilerServices;
namespace Lucene.Net.Search
@@ -146,7 +146,7 @@ namespace Lucene.Net.Search
private class CoreClosedListenerAnonymousInnerClassHelper : SegmentReader.ICoreDisposedListener
{
- private FieldCacheImpl outerInstance;
+ private readonly FieldCacheImpl outerInstance;
public CoreClosedListenerAnonymousInnerClassHelper(FieldCacheImpl outerInstance)
{
@@ -164,7 +164,7 @@ namespace Lucene.Net.Search
private class ReaderClosedListenerAnonymousInnerClassHelper : IndexReader.IReaderClosedListener
{
- private FieldCacheImpl outerInstance;
+ private readonly FieldCacheImpl outerInstance;
public ReaderClosedListenerAnonymousInnerClassHelper(FieldCacheImpl outerInstance)
{
diff --git a/src/Lucene.Net/Search/FuzzyTermsEnum.cs b/src/Lucene.Net/Search/FuzzyTermsEnum.cs
index 31fec71..41ab164 100644
--- a/src/Lucene.Net/Search/FuzzyTermsEnum.cs
+++ b/src/Lucene.Net/Search/FuzzyTermsEnum.cs
@@ -1,4 +1,5 @@
using J2N;
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Index;
using Lucene.Net.Support;
using Lucene.Net.Util;
@@ -6,7 +7,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Search
diff --git a/src/Lucene.Net/Search/MinShouldMatchSumScorer.cs b/src/Lucene.Net/Search/MinShouldMatchSumScorer.cs
index e56daaf..3742c1c 100644
--- a/src/Lucene.Net/Search/MinShouldMatchSumScorer.cs
+++ b/src/Lucene.Net/Search/MinShouldMatchSumScorer.cs
@@ -1,8 +1,8 @@
using J2N;
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
namespace Lucene.Net.Search
{
diff --git a/src/Lucene.Net/Search/PhraseQuery.cs b/src/Lucene.Net/Search/PhraseQuery.cs
index 22d6549..0ebb334 100644
--- a/src/Lucene.Net/Search/PhraseQuery.cs
+++ b/src/Lucene.Net/Search/PhraseQuery.cs
@@ -1,10 +1,10 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Index;
using Lucene.Net.Support;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net/Search/SloppyPhraseScorer.cs b/src/Lucene.Net/Search/SloppyPhraseScorer.cs
index a7213bc..c78836d 100644
--- a/src/Lucene.Net/Search/SloppyPhraseScorer.cs
+++ b/src/Lucene.Net/Search/SloppyPhraseScorer.cs
@@ -1,7 +1,7 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Search
diff --git a/src/Lucene.Net/Search/Spans/SpanNearQuery.cs b/src/Lucene.Net/Search/Spans/SpanNearQuery.cs
index d5e9422..a4bbe9a 100644
--- a/src/Lucene.Net/Search/Spans/SpanNearQuery.cs
+++ b/src/Lucene.Net/Search/Spans/SpanNearQuery.cs
@@ -1,6 +1,6 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net/Search/Spans/SpanOrQuery.cs b/src/Lucene.Net/Search/Spans/SpanOrQuery.cs
index 59f803f..74e228c 100644
--- a/src/Lucene.Net/Search/Spans/SpanOrQuery.cs
+++ b/src/Lucene.Net/Search/Spans/SpanOrQuery.cs
@@ -1,6 +1,6 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net/Search/TopTermsRewrite.cs b/src/Lucene.Net/Search/TopTermsRewrite.cs
index 2f07eb8..f4b9b5e 100644
--- a/src/Lucene.Net/Search/TopTermsRewrite.cs
+++ b/src/Lucene.Net/Search/TopTermsRewrite.cs
@@ -1,7 +1,7 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Search
@@ -77,7 +77,8 @@ namespace Lucene.Net.Search
CollectTerms(reader, query, new TermCollectorAnonymousInnerClassHelper(this, maxSize, stQueue));
var q = GetTopLevelQuery();
- ScoreTerm[] scoreTerms = stQueue.ToArray(/*new ScoreTerm[stQueue.size()]*/);
+ ScoreTerm[] scoreTerms = stQueue.ToArray(/*new ScoreTerm[stQueue.Count]*/);
+
ArrayUtil.TimSort(scoreTerms, scoreTermSortByTermComp);
foreach (ScoreTerm st in scoreTerms)
diff --git a/src/Lucene.Net/Store/CompoundFileDirectory.cs b/src/Lucene.Net/Store/CompoundFileDirectory.cs
index b0230f5..d3d7e7c 100644
--- a/src/Lucene.Net/Store/CompoundFileDirectory.cs
+++ b/src/Lucene.Net/Store/CompoundFileDirectory.cs
@@ -1,10 +1,10 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Numerics;
using Lucene.Net.Support;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
namespace Lucene.Net.Store
{
diff --git a/src/Lucene.Net/Store/CompoundFileWriter.cs b/src/Lucene.Net/Store/CompoundFileWriter.cs
index 5a3900c..885426a 100644
--- a/src/Lucene.Net/Store/CompoundFileWriter.cs
+++ b/src/Lucene.Net/Store/CompoundFileWriter.cs
@@ -1,9 +1,9 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Threading.Atomic;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
using System.Runtime.CompilerServices;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net/Store/FileSwitchDirectory.cs b/src/Lucene.Net/Store/FileSwitchDirectory.cs
index 7eec170..49b734f 100644
--- a/src/Lucene.Net/Store/FileSwitchDirectory.cs
+++ b/src/Lucene.Net/Store/FileSwitchDirectory.cs
@@ -1,7 +1,7 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Store
diff --git a/src/Lucene.Net/Store/NRTCachingDirectory.cs b/src/Lucene.Net/Store/NRTCachingDirectory.cs
index acafa79..1eb8e16 100644
--- a/src/Lucene.Net/Store/NRTCachingDirectory.cs
+++ b/src/Lucene.Net/Store/NRTCachingDirectory.cs
@@ -1,9 +1,9 @@
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.IO;
-using System.Linq;
-using JCG = J2N.Collections.Generic;
using Console = Lucene.Net.Util.SystemConsole;
+using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Store
{
diff --git a/src/Lucene.Net/Store/RAMDirectory.cs b/src/Lucene.Net/Store/RAMDirectory.cs
index 5b3c705..7cf0746 100644
--- a/src/Lucene.Net/Store/RAMDirectory.cs
+++ b/src/Lucene.Net/Store/RAMDirectory.cs
@@ -1,10 +1,10 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Threading.Atomic;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
-using System.Linq;
namespace Lucene.Net.Store
{
diff --git a/src/Lucene.Net/Support/CollectionExtensions.cs b/src/Lucene.Net/Support/CollectionExtensions.cs
new file mode 100644
index 0000000..6eb7ed0
--- /dev/null
+++ b/src/Lucene.Net/Support/CollectionExtensions.cs
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Runtime.CompilerServices;
+
+namespace Lucene.Net.Support
+{
+ /*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+ /// <summary>
+ /// Extensions for <see cref="ICollection{T}"/>.
+ /// </summary>
+ internal static class CollectionExtensions
+ {
+ /// <summary>
+ /// Removes the given collection of elements from the source <see cref="ICollection{T}"/>.
+ /// </summary>
+ /// <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
+ /// <param name="source">An <see cref="ICollection{T}"/> to remove elements from.</param>
+ /// <param name="removeList">An <see cref="IEnumerable{T}"/> containing the items to remove from <paramref name="source"/>.</param>
+ [DebuggerStepThrough]
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public static void RemoveAll<T>(this ICollection<T> source, IEnumerable<T> removeList)
+ {
+ if (source == null)
+ throw new ArgumentNullException(nameof(source));
+
+ if (source.Count == 0) return;
+
+ foreach (var elt in removeList)
+ {
+ source.Remove(elt);
+ }
+ }
+ }
+}
diff --git a/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs b/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs
index 29058de..64a5272 100644
--- a/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs
+++ b/src/Lucene.Net/Support/Index/TaskMergeScheduler.cs
@@ -1,4 +1,5 @@
-using Lucene.Net.Support.Threading;
+using J2N.Collections.Generic.Extensions;
+using Lucene.Net.Support.Threading;
using Lucene.Net.Util;
using System;
using System.Collections.Generic;
diff --git a/src/Lucene.Net/Support/SetExtensions.cs b/src/Lucene.Net/Support/SetExtensions.cs
index 4ab38e9..53e91a7 100644
--- a/src/Lucene.Net/Support/SetExtensions.cs
+++ b/src/Lucene.Net/Support/SetExtensions.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections;
using System.Collections.Generic;
-using System.Diagnostics;
namespace Lucene.Net.Support
{
@@ -24,15 +23,6 @@ namespace Lucene.Net.Support
internal static class SetExtensions
{
- [DebuggerStepThrough]
- public static void RemoveAll<T>(this ICollection<T> theSet, IEnumerable<T> removeList)
- {
- foreach (var elt in removeList)
- {
- theSet.Remove(elt);
- }
- }
-
/// <summary>
/// Returns a concurrent wrapper for the current <see cref="ISet{T}"/>.
/// </summary>
diff --git a/src/Lucene.Net/Support/Util/ExceptionExtensions.cs b/src/Lucene.Net/Support/Util/ExceptionExtensions.cs
index bd38e59..5983af1 100644
--- a/src/Lucene.Net/Support/Util/ExceptionExtensions.cs
+++ b/src/Lucene.Net/Support/Util/ExceptionExtensions.cs
@@ -1,4 +1,5 @@
-using System;
+using J2N.Collections.Generic.Extensions;
+using System;
using System.Collections.Generic;
using System.Linq;
diff --git a/src/Lucene.Net/Support/WeakDictionary.cs b/src/Lucene.Net/Support/WeakDictionary.cs
index 3d6567f..c8be30c 100644
--- a/src/Lucene.Net/Support/WeakDictionary.cs
+++ b/src/Lucene.Net/Support/WeakDictionary.cs
@@ -38,11 +38,11 @@ namespace Lucene.Net.Support
private int _gcCollections = 0;
public WeakDictionary(int initialCapacity)
- : this(initialCapacity, Enumerable.Empty<KeyValuePair<TKey, TValue>>())
+ : this(initialCapacity, Arrays.Empty<KeyValuePair<TKey, TValue>>())
{ }
public WeakDictionary()
- : this(32, Enumerable.Empty<KeyValuePair<TKey, TValue>>())
+ : this(32, Arrays.Empty<KeyValuePair<TKey, TValue>>())
{ }
public WeakDictionary(IEnumerable<KeyValuePair<TKey, TValue>> otherDictionary)
diff --git a/src/Lucene.Net/Util/Attribute.cs b/src/Lucene.Net/Util/Attribute.cs
index c9eda89..782392f 100644
--- a/src/Lucene.Net/Util/Attribute.cs
+++ b/src/Lucene.Net/Util/Attribute.cs
@@ -1,9 +1,3 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-
namespace Lucene.Net.Util
{
/*
diff --git a/src/Lucene.Net/Util/Automaton/Automaton.cs b/src/Lucene.Net/Util/Automaton/Automaton.cs
index 51ab8b3..36fe166 100644
--- a/src/Lucene.Net/Util/Automaton/Automaton.cs
+++ b/src/Lucene.Net/Util/Automaton/Automaton.cs
@@ -1,8 +1,8 @@
using J2N;
+using J2N.Collections.Generic.Extensions;
using System;
using System.Collections.Generic;
using System.Diagnostics;
-using System.Linq;
using System.Text;
using JCG = J2N.Collections.Generic;
diff --git a/src/Lucene.Net/Util/Automaton/SpecialOperations.cs b/src/Lucene.Net/Util/Automaton/SpecialOperations.cs
index c22ce6d..f9e0f3f 100644
--- a/src/Lucene.Net/Util/Automaton/SpecialOperations.cs
+++ b/src/Lucene.Net/Util/Automaton/SpecialOperations.cs
@@ -1,3 +1,4 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Text;
using System.Collections.Generic;
using System.Linq;
diff --git a/src/Lucene.Net/Util/ByteBlockPool.cs b/src/Lucene.Net/Util/ByteBlockPool.cs
index 50deda9..bfb7ed1 100644
--- a/src/Lucene.Net/Util/ByteBlockPool.cs
+++ b/src/Lucene.Net/Util/ByteBlockPool.cs
@@ -1,10 +1,10 @@
+using J2N.Collections.Generic.Extensions;
using J2N.Numerics;
using Lucene.Net.Support;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
-using System.Linq;
namespace Lucene.Net.Util
{
diff --git a/src/Lucene.Net/Util/QueryBuilder.cs b/src/Lucene.Net/Util/QueryBuilder.cs
index 336a543..25f0079 100644
--- a/src/Lucene.Net/Util/QueryBuilder.cs
+++ b/src/Lucene.Net/Util/QueryBuilder.cs
@@ -1,9 +1,9 @@
+using J2N.Collections.Generic.Extensions;
using Lucene.Net.Analysis.TokenAttributes;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
-using System.Linq;
namespace Lucene.Net.Util
{
diff --git a/src/Lucene.Net/Util/SPIClassIterator.cs b/src/Lucene.Net/Util/SPIClassIterator.cs
index 24da34e..a2cbebd 100644
--- a/src/Lucene.Net/Util/SPIClassIterator.cs
+++ b/src/Lucene.Net/Util/SPIClassIterator.cs
@@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Reflection;
using JCG = J2N.Collections.Generic;
namespace Lucene.Net.Util