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 de629d8c8217abe42d340bbd5cd61ebc49480bd8 Author: Shad Storhaug <[email protected]> AuthorDate: Wed Sep 4 19:01:23 2019 +0700 SWEEP: Lucene.Net - Changed internal number to string and string to number conversions to use invariant culture. Removed no-op Convert.ToInt32 and Convert.ToInt64 methods. --- src/Lucene.Net/Document/DateTools.cs | 71 +++++++++++----------- src/Lucene.Net/Index/BufferedUpdates.cs | 6 +- src/Lucene.Net/Index/CheckIndex.cs | 8 +-- .../Index/DocumentsWriterFlushControl.cs | 6 +- src/Lucene.Net/Index/FieldInfos.cs | 4 +- src/Lucene.Net/Index/IndexCommit.cs | 2 +- .../Index/NumericDocValuesFieldUpdates.cs | 2 +- .../Index/PersistentSnapshotDeletionPolicy.cs | 3 +- src/Lucene.Net/Index/StandardDirectoryReader.cs | 2 +- src/Lucene.Net/Search/FieldComparator.cs | 4 +- src/Lucene.Net/Search/MultiPhraseQuery.cs | 2 +- src/Lucene.Net/Search/NumericRangeQuery.cs | 17 +++--- src/Lucene.Net/Search/PhraseQuery.cs | 2 +- src/Lucene.Net/Store/FSDirectory.cs | 3 +- src/Lucene.Net/Store/LockStressTest.cs | 9 +-- src/Lucene.Net/Store/LockVerifyServer.cs | 2 +- src/Lucene.Net/Store/RAMDirectory.cs | 3 +- src/Lucene.Net/Support/AssemblyUtils.cs | 3 +- src/Lucene.Net/Support/AtomicInteger.cs | 15 +++++ src/Lucene.Net/Support/AtomicLong.cs | 15 +++++ src/Lucene.Net/Support/Character.cs | 18 ++++++ src/Lucene.Net/Support/StringBuilderExtensions.cs | 2 +- src/Lucene.Net/Util/Automaton/BasicAutomata.cs | 5 +- src/Lucene.Net/Util/Automaton/RegExp.cs | 13 ++-- src/Lucene.Net/Util/Automaton/Transition.cs | 3 +- src/Lucene.Net/Util/Fst/PositiveIntOutputs.cs | 2 +- src/Lucene.Net/Util/Fst/Util.cs | 3 +- src/Lucene.Net/Util/RamUsageEstimator.cs | 2 +- 28 files changed, 143 insertions(+), 84 deletions(-) diff --git a/src/Lucene.Net/Document/DateTools.cs b/src/Lucene.Net/Document/DateTools.cs index 2edfe7f..568984d 100644 --- a/src/Lucene.Net/Document/DateTools.cs +++ b/src/Lucene.Net/Document/DateTools.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; namespace Lucene.Net.Documents { @@ -78,31 +79,31 @@ namespace Lucene.Net.Documents if (resolution == Resolution.YEAR) { - return date.ToString(YEAR_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(YEAR_FORMAT, CultureInfo.InvariantCulture); } else if (resolution == Resolution.MONTH) { - return date.ToString(MONTH_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(MONTH_FORMAT, CultureInfo.InvariantCulture); } else if (resolution == Resolution.DAY) { - return date.ToString(DAY_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(DAY_FORMAT, CultureInfo.InvariantCulture); } else if (resolution == Resolution.HOUR) { - return date.ToString(HOUR_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(HOUR_FORMAT, CultureInfo.InvariantCulture); } else if (resolution == Resolution.MINUTE) { - return date.ToString(MINUTE_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(MINUTE_FORMAT, CultureInfo.InvariantCulture); } else if (resolution == Resolution.SECOND) { - return date.ToString(SECOND_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(SECOND_FORMAT, CultureInfo.InvariantCulture); } else if (resolution == Resolution.MILLISECOND) { - return date.ToString(MILLISECOND_FORMAT, System.Globalization.CultureInfo.InvariantCulture); + return date.ToString(MILLISECOND_FORMAT, CultureInfo.InvariantCulture); } throw new ArgumentException("unknown resolution " + resolution); @@ -136,58 +137,58 @@ namespace Lucene.Net.Documents DateTime date; if (dateString.Length == 4) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), 1, 1, 0, 0, 0, 0); } else if (dateString.Length == 6) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), - Convert.ToInt16(dateString.Substring(4, 2)), + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(4, 2), CultureInfo.InvariantCulture), 1, 0, 0, 0, 0); } else if (dateString.Length == 8) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), - Convert.ToInt16(dateString.Substring(4, 2)), - Convert.ToInt16(dateString.Substring(6, 2)), + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(4, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(6, 2), CultureInfo.InvariantCulture), 0, 0, 0, 0); } else if (dateString.Length == 10) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), - Convert.ToInt16(dateString.Substring(4, 2)), - Convert.ToInt16(dateString.Substring(6, 2)), - Convert.ToInt16(dateString.Substring(8, 2)), + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(4, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(6, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(8, 2), CultureInfo.InvariantCulture), 0, 0, 0); } else if (dateString.Length == 12) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), - Convert.ToInt16(dateString.Substring(4, 2)), - Convert.ToInt16(dateString.Substring(6, 2)), - Convert.ToInt16(dateString.Substring(8, 2)), - Convert.ToInt16(dateString.Substring(10, 2)), + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(4, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(6, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(8, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(10, 2), CultureInfo.InvariantCulture), 0, 0); } else if (dateString.Length == 14) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), - Convert.ToInt16(dateString.Substring(4, 2)), - Convert.ToInt16(dateString.Substring(6, 2)), - Convert.ToInt16(dateString.Substring(8, 2)), - Convert.ToInt16(dateString.Substring(10, 2)), - Convert.ToInt16(dateString.Substring(12, 2)), + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(4, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(6, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(8, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(10, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(12, 2), CultureInfo.InvariantCulture), 0); } else if (dateString.Length == 17) { - date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4)), - Convert.ToInt16(dateString.Substring(4, 2)), - Convert.ToInt16(dateString.Substring(6, 2)), - Convert.ToInt16(dateString.Substring(8, 2)), - Convert.ToInt16(dateString.Substring(10, 2)), - Convert.ToInt16(dateString.Substring(12, 2)), - Convert.ToInt16(dateString.Substring(14, 3))); + date = new DateTime(Convert.ToInt16(dateString.Substring(0, 4), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(4, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(6, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(8, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(10, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(12, 2), CultureInfo.InvariantCulture), + Convert.ToInt16(dateString.Substring(14, 3), CultureInfo.InvariantCulture)); } else { diff --git a/src/Lucene.Net/Index/BufferedUpdates.cs b/src/Lucene.Net/Index/BufferedUpdates.cs index cdc5ff4..f99e67e 100644 --- a/src/Lucene.Net/Index/BufferedUpdates.cs +++ b/src/Lucene.Net/Index/BufferedUpdates.cs @@ -148,7 +148,7 @@ namespace Lucene.Net.Index /// <summary> /// NOTE: This was MAX_INT in Lucene /// </summary> - public static readonly int MAX_INT32 = Convert.ToInt32(int.MaxValue); + public static readonly int MAX_INT32 = int.MaxValue; internal readonly AtomicInt64 bytesUsed; @@ -216,7 +216,7 @@ namespace Lucene.Net.Index public virtual void AddDocID(int docID) { - docIDs.Add(Convert.ToInt32(docID)); + docIDs.Add(docID); bytesUsed.AddAndGet(BYTES_PER_DEL_DOCID); } @@ -236,7 +236,7 @@ namespace Lucene.Net.Index return; } - terms[term] = Convert.ToInt32(docIDUpto); + terms[term] = docIDUpto; // note that if current != null then it means there's already a buffered // delete on that term, therefore we seem to over-count. this over-counting // is done to respect IndexWriterConfig.setMaxBufferedDeleteTerms. diff --git a/src/Lucene.Net/Index/CheckIndex.cs b/src/Lucene.Net/Index/CheckIndex.cs index a562df6..b635704 100644 --- a/src/Lucene.Net/Index/CheckIndex.cs +++ b/src/Lucene.Net/Index/CheckIndex.cs @@ -979,7 +979,7 @@ namespace Lucene.Net.Index } catch (Exception e) { - Msg(infoStream, "ERROR [" + Convert.ToString(e.Message) + "]"); + Msg(infoStream, "ERROR [" + e.Message + "]"); status.Error = e; if (infoStream != null) { @@ -1750,7 +1750,7 @@ namespace Lucene.Net.Index } catch (Exception e) { - Msg(infoStream, "ERROR [" + Convert.ToString(e.Message) + "]"); + Msg(infoStream, "ERROR [" + e.Message + "]"); status.Error = e; if (infoStream != null) { @@ -1799,7 +1799,7 @@ namespace Lucene.Net.Index } catch (Exception e) { - Msg(infoStream, "ERROR [" + Convert.ToString(e.Message) + "]"); + Msg(infoStream, "ERROR [" + e.Message + "]"); status.Error = e; if (infoStream != null) { @@ -2325,7 +2325,7 @@ namespace Lucene.Net.Index } catch (Exception e) { - Msg(infoStream, "ERROR [" + Convert.ToString(e.Message) + "]"); + Msg(infoStream, "ERROR [" + e.Message + "]"); status.Error = e; if (infoStream != null) { diff --git a/src/Lucene.Net/Index/DocumentsWriterFlushControl.cs b/src/Lucene.Net/Index/DocumentsWriterFlushControl.cs index 6549039..002d56b 100644 --- a/src/Lucene.Net/Index/DocumentsWriterFlushControl.cs +++ b/src/Lucene.Net/Index/DocumentsWriterFlushControl.cs @@ -417,7 +417,7 @@ namespace Lucene.Net.Index dwpt = perThreadPool.Reset(perThread, closed); Debug.Assert(!flushingWriters.ContainsKey(dwpt), "DWPT is already flushing"); // Record the flushing DWPT to reduce flushBytes in doAfterFlush - flushingWriters[dwpt] = Convert.ToInt64(bytes); + flushingWriters[dwpt] = bytes; numPending--; // write access synced return dwpt; } @@ -753,7 +753,7 @@ namespace Lucene.Net.Index blockedFlushes.Remove(node); Debug.Assert(!flushingWriters.ContainsKey(blockedFlush.Dwpt), "DWPT is already flushing"); // Record the flushing DWPT to reduce flushBytes in doAfterFlush - flushingWriters[blockedFlush.Dwpt] = Convert.ToInt64(blockedFlush.Bytes); + flushingWriters[blockedFlush.Dwpt] = blockedFlush.Bytes; // don't decr pending here - its already done when DWPT is blocked flushQueue.Enqueue(blockedFlush.Dwpt); } @@ -835,7 +835,7 @@ namespace Lucene.Net.Index { try { - flushingWriters[blockedFlush.Dwpt] = Convert.ToInt64(blockedFlush.Bytes); + flushingWriters[blockedFlush.Dwpt] = blockedFlush.Bytes; documentsWriter.SubtractFlushedNumDocs(blockedFlush.Dwpt.NumDocsInRAM); blockedFlush.Dwpt.Abort(newFiles); } diff --git a/src/Lucene.Net/Index/FieldInfos.cs b/src/Lucene.Net/Index/FieldInfos.cs index c267ae1..a73d93f 100644 --- a/src/Lucene.Net/Index/FieldInfos.cs +++ b/src/Lucene.Net/Index/FieldInfos.cs @@ -252,7 +252,7 @@ namespace Lucene.Net.Index nameToNumber.TryGetValue(fieldName, out fieldNumber); if (fieldNumber == null) { - int? preferredBoxed = Convert.ToInt32(preferredFieldNumber); + int? preferredBoxed = preferredFieldNumber; if (preferredFieldNumber != -1 && !numberToName.ContainsKey(preferredBoxed)) { @@ -396,7 +396,7 @@ namespace Lucene.Net.Index int fieldNumber = globalFieldNumbers.AddOrGet(name, preferredFieldNumber, docValues); fi = new FieldInfo(name, isIndexed, fieldNumber, storeTermVector, omitNorms, storePayloads, indexOptions, docValues, normType, null); Debug.Assert(!byName.ContainsKey(fi.Name)); - Debug.Assert(globalFieldNumbers.ContainsConsistent(Convert.ToInt32(fi.Number), fi.Name, fi.DocValuesType)); + Debug.Assert(globalFieldNumbers.ContainsConsistent(fi.Number, fi.Name, fi.DocValuesType)); byName[fi.Name] = fi; } else diff --git a/src/Lucene.Net/Index/IndexCommit.cs b/src/Lucene.Net/Index/IndexCommit.cs index f1f9fa0..87f91a8 100644 --- a/src/Lucene.Net/Index/IndexCommit.cs +++ b/src/Lucene.Net/Index/IndexCommit.cs @@ -108,7 +108,7 @@ namespace Lucene.Net.Index public override int GetHashCode() { - return Directory.GetHashCode() + Convert.ToInt64(Generation).GetHashCode(); + return Directory.GetHashCode() + Generation.GetHashCode(); } /// <summary> diff --git a/src/Lucene.Net/Index/NumericDocValuesFieldUpdates.cs b/src/Lucene.Net/Index/NumericDocValuesFieldUpdates.cs index add4a1c..935e23e 100644 --- a/src/Lucene.Net/Index/NumericDocValuesFieldUpdates.cs +++ b/src/Lucene.Net/Index/NumericDocValuesFieldUpdates.cs @@ -81,7 +81,7 @@ namespace Lucene.Net.Index else { // idx points to the "next" element - value = Convert.ToInt64(values.Get(idx - 1)); + value = values.Get(idx - 1); } return doc; } diff --git a/src/Lucene.Net/Index/PersistentSnapshotDeletionPolicy.cs b/src/Lucene.Net/Index/PersistentSnapshotDeletionPolicy.cs index 659e066..730df12 100644 --- a/src/Lucene.Net/Index/PersistentSnapshotDeletionPolicy.cs +++ b/src/Lucene.Net/Index/PersistentSnapshotDeletionPolicy.cs @@ -1,6 +1,7 @@ using Lucene.Net.Support; using System; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Runtime.CompilerServices; @@ -312,7 +313,7 @@ namespace Lucene.Net.Index { if (file.StartsWith(SNAPSHOTS_PREFIX, StringComparison.Ordinal)) { - long gen = Convert.ToInt64(file.Substring(SNAPSHOTS_PREFIX.Length)); + long gen = Convert.ToInt64(file.Substring(SNAPSHOTS_PREFIX.Length), CultureInfo.InvariantCulture); if (genLoaded == -1 || gen > genLoaded) { snapshotFiles.Add(file); diff --git a/src/Lucene.Net/Index/StandardDirectoryReader.cs b/src/Lucene.Net/Index/StandardDirectoryReader.cs index dc5c746..5e50470 100644 --- a/src/Lucene.Net/Index/StandardDirectoryReader.cs +++ b/src/Lucene.Net/Index/StandardDirectoryReader.cs @@ -181,7 +181,7 @@ namespace Lucene.Net.Index for (int i = 0, c = oldReaders.Count; i < c; i++) { SegmentReader sr = (SegmentReader)oldReaders[i]; - segmentReaders[sr.SegmentName] = Convert.ToInt32(i); + segmentReaders[sr.SegmentName] = i; } } diff --git a/src/Lucene.Net/Search/FieldComparator.cs b/src/Lucene.Net/Search/FieldComparator.cs index d3ba96f..53b7f5f 100644 --- a/src/Lucene.Net/Search/FieldComparator.cs +++ b/src/Lucene.Net/Search/FieldComparator.cs @@ -987,7 +987,7 @@ namespace Lucene.Net.Search public override IComparable this[int slot] { - get { return Convert.ToSingle(scores[slot]); } + get { return scores[slot]; } } // Override because we sort reverse of natural Float order: @@ -1058,7 +1058,7 @@ namespace Lucene.Net.Search public override IComparable this[int slot] { - get { return Convert.ToInt32(docIDs[slot]); } + get { return docIDs[slot]; } } public override int CompareTop(int doc) diff --git a/src/Lucene.Net/Search/MultiPhraseQuery.cs b/src/Lucene.Net/Search/MultiPhraseQuery.cs index 5e36a95..4a51c27 100644 --- a/src/Lucene.Net/Search/MultiPhraseQuery.cs +++ b/src/Lucene.Net/Search/MultiPhraseQuery.cs @@ -138,7 +138,7 @@ namespace Lucene.Net.Search } termArrays.Add(terms); - positions.Add(Convert.ToInt32(position)); + positions.Add(position); } /// <summary> diff --git a/src/Lucene.Net/Search/NumericRangeQuery.cs b/src/Lucene.Net/Search/NumericRangeQuery.cs index 9b9b283..98e6dab 100644 --- a/src/Lucene.Net/Search/NumericRangeQuery.cs +++ b/src/Lucene.Net/Search/NumericRangeQuery.cs @@ -2,6 +2,7 @@ using Lucene.Net.Documents; using System; using System.Collections.Generic; using System.Diagnostics; +using System.Globalization; using System.Text; namespace Lucene.Net.Search @@ -339,12 +340,12 @@ namespace Lucene.Net.Search long minBound; if (this.outerInstance.dataType == NumericType.INT64) { - minBound = (this.outerInstance.min == null) ? long.MinValue : Convert.ToInt64(this.outerInstance.min.Value); + minBound = (this.outerInstance.min == null) ? long.MinValue : Convert.ToInt64(this.outerInstance.min.Value, CultureInfo.InvariantCulture); } else { Debug.Assert(this.outerInstance.dataType == NumericType.DOUBLE); - minBound = (this.outerInstance.min == null) ? INT64_NEGATIVE_INFINITY : NumericUtils.DoubleToSortableInt64(Convert.ToDouble(this.outerInstance.min.Value)); + minBound = (this.outerInstance.min == null) ? INT64_NEGATIVE_INFINITY : NumericUtils.DoubleToSortableInt64(Convert.ToDouble(this.outerInstance.min.Value, CultureInfo.InvariantCulture)); } if (!this.outerInstance.minInclusive && this.outerInstance.min != null) { @@ -359,12 +360,12 @@ namespace Lucene.Net.Search long maxBound; if (this.outerInstance.dataType == NumericType.INT64) { - maxBound = (this.outerInstance.max == null) ? long.MaxValue : Convert.ToInt64(this.outerInstance.max); + maxBound = (this.outerInstance.max == null) ? long.MaxValue : Convert.ToInt64(this.outerInstance.max, CultureInfo.InvariantCulture); } else { Debug.Assert(this.outerInstance.dataType == NumericType.DOUBLE); - maxBound = (this.outerInstance.max == null) ? INT64_POSITIVE_INFINITY : NumericUtils.DoubleToSortableInt64(Convert.ToDouble(this.outerInstance.max)); + maxBound = (this.outerInstance.max == null) ? INT64_POSITIVE_INFINITY : NumericUtils.DoubleToSortableInt64(Convert.ToDouble(this.outerInstance.max, CultureInfo.InvariantCulture)); } if (!this.outerInstance.maxInclusive && this.outerInstance.max != null) { @@ -386,12 +387,12 @@ namespace Lucene.Net.Search int minBound; if (this.outerInstance.dataType == NumericType.INT32) { - minBound = (this.outerInstance.min == null) ? int.MinValue : Convert.ToInt32(this.outerInstance.min); + minBound = (this.outerInstance.min == null) ? int.MinValue : Convert.ToInt32(this.outerInstance.min, CultureInfo.InvariantCulture); } else { Debug.Assert(this.outerInstance.dataType == NumericType.SINGLE); - minBound = (this.outerInstance.min == null) ? INT32_NEGATIVE_INFINITY : NumericUtils.SingleToSortableInt32(Convert.ToSingle(this.outerInstance.min)); + minBound = (this.outerInstance.min == null) ? INT32_NEGATIVE_INFINITY : NumericUtils.SingleToSortableInt32(Convert.ToSingle(this.outerInstance.min, CultureInfo.InvariantCulture)); } if (!this.outerInstance.minInclusive && this.outerInstance.min != null) { @@ -406,12 +407,12 @@ namespace Lucene.Net.Search int maxBound; if (this.outerInstance.dataType == NumericType.INT32) { - maxBound = (this.outerInstance.max == null) ? int.MaxValue : Convert.ToInt32(this.outerInstance.max); + maxBound = (this.outerInstance.max == null) ? int.MaxValue : Convert.ToInt32(this.outerInstance.max, CultureInfo.InvariantCulture); } else { Debug.Assert(this.outerInstance.dataType == NumericType.SINGLE); - maxBound = (this.outerInstance.max == null) ? INT32_POSITIVE_INFINITY : NumericUtils.SingleToSortableInt32(Convert.ToSingle(this.outerInstance.max)); + maxBound = (this.outerInstance.max == null) ? INT32_POSITIVE_INFINITY : NumericUtils.SingleToSortableInt32(Convert.ToSingle(this.outerInstance.max, CultureInfo.InvariantCulture)); } if (!this.outerInstance.maxInclusive && this.outerInstance.max != null) { diff --git a/src/Lucene.Net/Search/PhraseQuery.cs b/src/Lucene.Net/Search/PhraseQuery.cs index b56a886..db1f5f9 100644 --- a/src/Lucene.Net/Search/PhraseQuery.cs +++ b/src/Lucene.Net/Search/PhraseQuery.cs @@ -142,7 +142,7 @@ namespace Lucene.Net.Search } terms.Add(term); - positions.Add(Convert.ToInt32(position)); + positions.Add(position); if (position > maxPosition) { maxPosition = position; diff --git a/src/Lucene.Net/Store/FSDirectory.cs b/src/Lucene.Net/Store/FSDirectory.cs index 6cc3caf..189b23e 100644 --- a/src/Lucene.Net/Store/FSDirectory.cs +++ b/src/Lucene.Net/Store/FSDirectory.cs @@ -2,6 +2,7 @@ using Lucene.Net.Support.IO; using System; using System.Collections.Generic; using System.Diagnostics; +using System.Globalization; using System.IO; using System.Linq;// Used only for WRITE_LOCK_NAME in deprecated create=true case: @@ -408,7 +409,7 @@ namespace Lucene.Net.Store char ch = dirName[charIDX]; digest = 31*digest + ch; } - return "lucene-" + digest.ToString("x"); + return "lucene-" + digest.ToString("x", CultureInfo.InvariantCulture); } /// <summary> diff --git a/src/Lucene.Net/Store/LockStressTest.cs b/src/Lucene.Net/Store/LockStressTest.cs index c651587..1eab4c7 100644 --- a/src/Lucene.Net/Store/LockStressTest.cs +++ b/src/Lucene.Net/Store/LockStressTest.cs @@ -1,4 +1,5 @@ using System; +using System.Globalization; using System.IO; using System.Linq; using System.Net; @@ -60,7 +61,7 @@ namespace Lucene.Net.Store } int arg = 0; - int myID = Convert.ToInt32(args[arg++]); + int myID = Convert.ToInt32(args[arg++], CultureInfo.InvariantCulture); if (myID < 0 || myID > 255) { @@ -70,11 +71,11 @@ namespace Lucene.Net.Store } string verifierHost = args[arg++]; - int verifierPort = Convert.ToInt32(args[arg++]); + int verifierPort = Convert.ToInt32(args[arg++], CultureInfo.InvariantCulture); string lockFactoryClassName = args[arg++]; string lockDirName = args[arg++]; - int sleepTimeMS = Convert.ToInt32(args[arg++]); - int count = Convert.ToInt32(args[arg++]); + int sleepTimeMS = Convert.ToInt32(args[arg++], CultureInfo.InvariantCulture); + int count = Convert.ToInt32(args[arg++], CultureInfo.InvariantCulture); IPAddress[] addresses = Dns.GetHostAddressesAsync(verifierHost).Result; IPAddress addr = addresses.FirstOrDefault(); diff --git a/src/Lucene.Net/Store/LockVerifyServer.cs b/src/Lucene.Net/Store/LockVerifyServer.cs index 6963fd2..bf2dc83 100644 --- a/src/Lucene.Net/Store/LockVerifyServer.cs +++ b/src/Lucene.Net/Store/LockVerifyServer.cs @@ -66,7 +66,7 @@ namespace Lucene.Net.Store Console.WriteLine("Listening on " + ((IPEndPoint)s.LocalEndPoint).Port.ToString() + "..."); // we set the port as a sysprop, so the ANT task can read it. For that to work, this server must run in-process: - SystemProperties.SetProperty("lockverifyserver.port", ((IPEndPoint)s.LocalEndPoint).Port.ToString()); + SystemProperties.SetProperty("lockverifyserver.port", ((IPEndPoint)s.LocalEndPoint).Port.ToString(CultureInfo.InvariantCulture)); object localLock = new object(); int[] lockedID = new int[1]; diff --git a/src/Lucene.Net/Store/RAMDirectory.cs b/src/Lucene.Net/Store/RAMDirectory.cs index 6f67f68..91a6771 100644 --- a/src/Lucene.Net/Store/RAMDirectory.cs +++ b/src/Lucene.Net/Store/RAMDirectory.cs @@ -3,6 +3,7 @@ using Lucene.Net.Support.Compatibility; using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Globalization; using System.IO; using System.Linq; @@ -113,7 +114,7 @@ namespace Lucene.Net.Store public override string GetLockID() { - return "lucene-" + GetHashCode().ToString("x"); + return "lucene-" + GetHashCode().ToString("x", CultureInfo.InvariantCulture); } public override sealed string[] ListAll() diff --git a/src/Lucene.Net/Support/AssemblyUtils.cs b/src/Lucene.Net/Support/AssemblyUtils.cs index 7805eca..977d9d6 100644 --- a/src/Lucene.Net/Support/AssemblyUtils.cs +++ b/src/Lucene.Net/Support/AssemblyUtils.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Reflection; #if NETSTANDARD1_6 @@ -148,7 +149,7 @@ namespace Lucene.Net.Support return false; } - var publicKeyToken = string.Concat(publicKey.Select(i => i.ToString("x2"))); + var publicKeyToken = string.Concat(publicKey.Select(i => i.ToString("x2", CultureInfo.InvariantCulture))); return s_microsoftKeys.Contains(publicKeyToken); } diff --git a/src/Lucene.Net/Support/AtomicInteger.cs b/src/Lucene.Net/Support/AtomicInteger.cs index b3b2cca..8af0088 100644 --- a/src/Lucene.Net/Support/AtomicInteger.cs +++ b/src/Lucene.Net/Support/AtomicInteger.cs @@ -86,5 +86,20 @@ namespace Lucene.Net.Support { return Get().ToString(); } + + public virtual string ToString(string format) + { + return Get().ToString(format); + } + + public virtual string ToString(IFormatProvider provider) + { + return Get().ToString(provider); + } + + public virtual string ToString(string format, IFormatProvider provider) + { + return Get().ToString(format, provider); + } } } \ No newline at end of file diff --git a/src/Lucene.Net/Support/AtomicLong.cs b/src/Lucene.Net/Support/AtomicLong.cs index b74edda..43ec973 100644 --- a/src/Lucene.Net/Support/AtomicLong.cs +++ b/src/Lucene.Net/Support/AtomicLong.cs @@ -81,5 +81,20 @@ namespace Lucene.Net.Support { return Get().ToString(); } + + public virtual string ToString(string format) + { + return Get().ToString(format); + } + + public virtual string ToString(IFormatProvider provider) + { + return Get().ToString(provider); + } + + public virtual string ToString(string format, IFormatProvider provider) + { + return Get().ToString(format, provider); + } } } \ No newline at end of file diff --git a/src/Lucene.Net/Support/Character.cs b/src/Lucene.Net/Support/Character.cs index 0065f01..dae61af 100644 --- a/src/Lucene.Net/Support/Character.cs +++ b/src/Lucene.Net/Support/Character.cs @@ -21,6 +21,7 @@ using System; using System.Globalization; +using System.Text; using Lucene.Net.Util; namespace Lucene.Net.Support @@ -314,6 +315,23 @@ namespace Lucene.Net.Support - MIN_LOW_SURROGATE); } + public static int CodePointAt(StringBuilder seq, int index) + { + char c1 = seq[index++]; + if (char.IsHighSurrogate(c1)) + { + if (index < seq.Length) + { + char c2 = seq[index]; + if (char.IsLowSurrogate(c2)) + { + return ToCodePoint(c1, c2); + } + } + } + return c1; + } + public static int CodePointAt(ICharSequence seq, int index) { char c1 = seq[index++]; diff --git a/src/Lucene.Net/Support/StringBuilderExtensions.cs b/src/Lucene.Net/Support/StringBuilderExtensions.cs index d6d543b..de20820 100644 --- a/src/Lucene.Net/Support/StringBuilderExtensions.cs +++ b/src/Lucene.Net/Support/StringBuilderExtensions.cs @@ -129,7 +129,7 @@ namespace Lucene.Net.Support { throw new IndexOutOfRangeException(); } - return Character.CodePointAt(text.ToString(), index); + return Character.CodePointAt(text, index); } /// <summary> diff --git a/src/Lucene.Net/Util/Automaton/BasicAutomata.cs b/src/Lucene.Net/Util/Automaton/BasicAutomata.cs index fcebb46..0bb2d66 100644 --- a/src/Lucene.Net/Util/Automaton/BasicAutomata.cs +++ b/src/Lucene.Net/Util/Automaton/BasicAutomata.cs @@ -1,6 +1,7 @@ using Lucene.Net.Support; using System; using System.Collections.Generic; +using System.Globalization; using System.Text; /* @@ -246,8 +247,8 @@ namespace Lucene.Net.Util.Automaton public static Automaton MakeInterval(int min, int max, int digits) { Automaton a = new Automaton(); - string x = Convert.ToString(min); - string y = Convert.ToString(max); + string x = Convert.ToString(min, CultureInfo.InvariantCulture); + string y = Convert.ToString(max, CultureInfo.InvariantCulture); if (min > max || (digits > 0 && y.Length > digits)) { throw new System.ArgumentException(); diff --git a/src/Lucene.Net/Util/Automaton/RegExp.cs b/src/Lucene.Net/Util/Automaton/RegExp.cs index a6b5242..4e5ff14 100644 --- a/src/Lucene.Net/Util/Automaton/RegExp.cs +++ b/src/Lucene.Net/Util/Automaton/RegExp.cs @@ -1,6 +1,7 @@ using Lucene.Net.Support; using System; using System.Collections.Generic; +using System.Globalization; using System.Text; /* @@ -731,8 +732,8 @@ namespace Lucene.Net.Util.Automaton break; case Kind.REGEXP_INTERVAL: - string s1 = Convert.ToString(min); - string s2 = Convert.ToString(max); + string s1 = Convert.ToString(min, CultureInfo.InvariantCulture); + string s2 = Convert.ToString(max, CultureInfo.InvariantCulture); b.Append("<"); if (digits > 0) { @@ -1068,7 +1069,7 @@ namespace Lucene.Net.Util.Automaton { throw new System.ArgumentException("integer expected at position " + pos); } - int n = Convert.ToInt32(b.Substring(start, pos - start)); + int n = Convert.ToInt32(b.Substring(start, pos - start), CultureInfo.InvariantCulture); int m = -1; if (Match(',')) { @@ -1079,7 +1080,7 @@ namespace Lucene.Net.Util.Automaton } if (start != pos) { - m = Convert.ToInt32(b.Substring(start, pos - start)); + m = Convert.ToInt32(b.Substring(start, pos - start), CultureInfo.InvariantCulture); } } else @@ -1239,8 +1240,8 @@ namespace Lucene.Net.Util.Automaton } string smin = s.Substring(0, i); string smax = s.Substring(i + 1, s.Length - (i + 1)); - int imin = Convert.ToInt32(smin); - int imax = Convert.ToInt32(smax); + int imin = Convert.ToInt32(smin, CultureInfo.InvariantCulture); + int imax = Convert.ToInt32(smax, CultureInfo.InvariantCulture); int digits; if (smin.Length == smax.Length) { diff --git a/src/Lucene.Net/Util/Automaton/Transition.cs b/src/Lucene.Net/Util/Automaton/Transition.cs index 50bae03..8076d81 100644 --- a/src/Lucene.Net/Util/Automaton/Transition.cs +++ b/src/Lucene.Net/Util/Automaton/Transition.cs @@ -2,6 +2,7 @@ using Lucene.Net.Support; using System; using System.Collections.Generic; using System.Diagnostics; +using System.Globalization; using System.Text; /* @@ -166,7 +167,7 @@ namespace Lucene.Net.Util.Automaton else { b.Append("\\\\U"); - string s = c.ToString("x"); + string s = c.ToString("x", CultureInfo.InvariantCulture); if (c < 0x10) { b.Append("0000000").Append(s); diff --git a/src/Lucene.Net/Util/Fst/PositiveIntOutputs.cs b/src/Lucene.Net/Util/Fst/PositiveIntOutputs.cs index bf343ed..e2d18d2 100644 --- a/src/Lucene.Net/Util/Fst/PositiveIntOutputs.cs +++ b/src/Lucene.Net/Util/Fst/PositiveIntOutputs.cs @@ -139,7 +139,7 @@ namespace Lucene.Net.Util.Fst public override string OutputToString(long? output) { - return output.ToString(); + return output.ToString(); // LUCENENET TODO: Invariant Culture? } public override string ToString() diff --git a/src/Lucene.Net/Util/Fst/Util.cs b/src/Lucene.Net/Util/Fst/Util.cs index b206948..201ee3e 100644 --- a/src/Lucene.Net/Util/Fst/Util.cs +++ b/src/Lucene.Net/Util/Fst/Util.cs @@ -3,6 +3,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; +using System.Globalization; using System.IO; namespace Lucene.Net.Util.Fst @@ -975,7 +976,7 @@ namespace Lucene.Net.Util.Fst { return char.ToString((char)label); } - return "0x" + label.ToString("x"); + return "0x" + label.ToString("x", CultureInfo.InvariantCulture); } /// <summary> diff --git a/src/Lucene.Net/Util/RamUsageEstimator.cs b/src/Lucene.Net/Util/RamUsageEstimator.cs index b4a37a8..9e552d8 100644 --- a/src/Lucene.Net/Util/RamUsageEstimator.cs +++ b/src/Lucene.Net/Util/RamUsageEstimator.cs @@ -220,7 +220,7 @@ namespace Lucene.Net.Util //{ // Method getVMOptionMethod = beanClazz.GetMethod("getVMOption", typeof(string)); // object vmOption = getVMOptionMethod.invoke(hotSpotBean, "ObjectAlignmentInBytes"); - // objectAlignment = Convert.ToInt32(vmOption.GetType().GetMethod("getValue").invoke(vmOption).ToString()); + // objectAlignment = Convert.ToInt32(vmOption.GetType().GetMethod("getValue").invoke(vmOption).ToString(), CultureInfo.InvariantCulture); //} //} //catch (Exception e)
