tree 89107c8fa2b2b83804e17e96f895902d77c61bd6
parent 6ea55d1bcacd9322f10b696e3eee4462905a1479
author Shad Storhaug <shad@shadstorhaug.com> 1605023262 +0700
committer GitHub <noreply@github.com> 1605023262 +0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJfqrYeCRBK7hj4Ov3rIwAAdHIIAFdBgNs/RrAmQnDrDEljl3LX
 ftWZHy6qKGsf39oDOlgW3frCBz4HvpZh1nEtrhlZra8FfUfoQOMlXxqk3Gr2/UNa
 SQuySLN/QluIfixGOrCo7KBS6TEg9djCy1Baybs8v6ggJir3TFCAvMzLRKlzbdLY
 Kay+SntUotnF0ZeHzorbhm6cIjU+YwTkOR3L0oZbqyt75MPpCZDNkE4VUyuuPSZj
 cc7c+othAa79nea8uzpz/RounL9IQNi5FJPuN0GSaK7VLHdLHwbxt8ckuN6jFFek
 nSk9gpPITl0zE0q5LwkVD2Db5xqryaPUec3KrUqQ3XGNrZGs/KrfiTO+6k217eU=
 =c3sD
 -----END PGP SIGNATURE-----
 

Fixes several code quality issues (Code Analysis) (#387)

* BUG: Lucene.Net.Document.CompressionTools: Pass the offset and length to the underlying MemoryStream

* BUG: Lucene.Net.Analysis.Common.Tartarus.Snowball.Among: Fixed MethodObject property to reference private field instead of itself

* BUG: Lucene.Net.TestFramework.Analysis.MockTokenizer: Pass the AttributeFactory argument that is provided as per the documentation comment. Note this bug exists in Lucene 4.8.0, also.

* TestTargetFramework.props: Disable IDE0052 and IDE0060 in test projects

* lucene-cli: Disabled IDE0060 warnings

* Lucene.Net.Demo: Disabled IDE0060 warnings

* PERFORMANCE: Fixes IDE0052 Remove unread private member, fixes IDE0060 Remove unused parameter

* BUG: Lucene.Net.Util.ExceptionExtensions.GetSuppressedAsList(): Use J2N.Collections.Generic.List<T> so the call to ToString() will automatically list the exception messages

* Lucene.Net.Tests.Support.TestApiConsistency: Added exclusion for System.Runtime.CompilerServices to skip our nullable attribute replacements for platforms that don't support them

* Fixes CA2213 Disposable fields should be disposed (except for IndexWriter and subclasses which need more work)

* Fixes CA1063: Implement IDisposable Properly (except for IndexWriter). Partially addresses #265.

* PERFORMANCE: Lucene.Net.Index: Changed FieldInfos, FreqProxTermsWriterPerField, IndexWriter, LogMergePolicy, SegmentCoreReaders, and SegmentReader to take advantage of the fact that TryGetValue returns a boolean

* PERFORMANCE: Lucene.Net.Index.DocValuesProducer: Optimized checks in AddXXXField() methods

* Fixes IDE0018: Inline variable declaration

* Fixes CA1507: Use nameof in place of string

* BUG: Fixed formatting in ArgumentException message for all analyzer factories so it will display the dictionary contents

* Removed pattern matching warning exclusions for IDE0019, IDE0020, and IDE0038

* Fixes IDE0019: Use pattern matching to avoid 'is' check followed by a cast

* Simplified reuse logic of TermsEnum classes

* Fixes IDE0038: Use pattern matching to avoid 'is' check followed by a cast

* Fixes IDE0020: Use pattern matching to avoid 'is' check followed by a cast

* Fixes CA1802: Use Literals Where Appropriate

* TestTargetFramework.props: Disabled IDE0044 warnings in test projects

* TestTargetFramework.props: Disabled IDE0019, IDE0020, IDE0038 from tests

* TestTargetFramework.props: Added CA1822 and IDE0059 and changed list to be in lexographical order by ID

* TestTargetFramework.props: Disabled IDE1006 (Naming rule violation) warnings in tests

* TestTargetFraework.props: Disabled CA1034 (Nested types should not be visible) warnings in tests

* TestTargetFramework.props: Disabled CA1825 (Avoid zero-length array allocations) warnings in tests

* TestTargetFramework.props: Disabled IDE0017 and IDE0028 warnings in tests (object and collection initialization can be simplified)

* TestTargetFramework.props: Disabled IDE0051 (Remove unused private member) warnings in tests

* Fixes IDE0044: Add readonly modifier

* Directory.Build.props: Disable IDE0032 warnings (use auto property)

* Fixes CA1813: Avoid unsealed attributes

* PERFORMANCE: Fixes CA1822: Mark members as static

* Added aggressive inlining to codecs, asserts and several other areas

* Removed InitializeInstanceFields() methods in all cases except in NumericTokenStream where we need to initialize from multiple constructors

* Lucene.Net.Util: Added aggressive inlining on several methods

* Fixes IDE0059: Remove unnecessary value assignment

* Fixes IDE0034: Simplify 'default' expression

* Fixes IDE0051: Remove unused private member. Also removed dead code/commented code.

* Directory.Build.props: Disabled CA1031 warnings (do not catch general exception types)

* lucene-cli: Disabled CA1034 (Nested types should not be visible) warnings in tests

* Fixes CA1819: Properties should not return arrays

* Fixes CA1012: Abstract types should not have constructors

* PERFORMANCE: Fixes CA1825: Avoid zero-length array allocations

* Fixes CA1052: Static holder types should be Static or NotInheritable

* Fixes IDE0028: Use collection initializers

* Fixes IDE1006: Naming Styles

* Fixes IDE0063: Use simple 'using' statement

* Fixes IDE0016: Use throw expression

* TestTargetFramework.props: Disabled IDE0031 (Use null propagation) warnings in tests

* Fixes IDE0031: Use null propagation

* Fixes IDE0029: Use coalesce expression

* Fixes IDE0030: Use coalesce expression (nullable)

* Fixes CA1820: Test for empty strings using string length

* Fixes CA1810: Initialize reference type static fields inline

* TestTargetFramework.props: Disabled CA2219 (Do not raise exceptions in exception clauses) warnings in tests

* Directory.Build.props: Disabled IDE0070 (Use 'System.HashCode.Combine') warnings because this functionality requires .NET Standard 2.1

* Fixes IDE0025: Use expression body for properties

* Fixes IDE0021: Use block body for constructors

* TestTargetFramework.props: Disabled IDE0040 (Add accessibility modifiers) warnings in tests

* Fixes IDE0040: Add accessibility modifiers

* Fixes IDE0041: Use is null check

* Fixes CA1815: Override equals and operator equals on value types

* TestTargetFramework.props: Disabled IDE0049 (Use language keywords instead of framework type names for type references) warnings in tests

* Fixes IDE0049: Use language keywords instead of framework type names for type references

* Fixes IDE0039: Use local function

* Fixes IDE0071: Simplify interpolation

* Fixes IDE0027: Use expression body for accessors

* fixes IDE1005: Use conditional delegate call

* Added .editorconfig file to control formatting and code analysis rules

* Directory.Build.props: Removed all Code Analysis settings that are now controlled by .editorconfig