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 2017/01/31 17:56:10 UTC

[37/50] [abbrv] lucenenet git commit: Lucene.Net.Facet: Added [WritableArray] attribute and SuppressMessage attribute from code analysis to all array properties

Lucene.Net.Facet: Added [WritableArray] attribute and SuppressMessage attribute from code analysis to all array properties


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/a03ef7cb
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/a03ef7cb
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/a03ef7cb

Branch: refs/heads/api-work
Commit: a03ef7cbaa8e185f9d4a2da98bab095d8f963bbf
Parents: 8a0f30b
Author: Shad Storhaug <sh...@shadstorhaug.com>
Authored: Tue Jan 31 18:28:23 2017 +0700
Committer: Shad Storhaug <sh...@shadstorhaug.com>
Committed: Tue Jan 31 18:42:31 2017 +0700

----------------------------------------------------------------------
 src/Lucene.Net.Facet/FacetField.cs                 |  5 ++++-
 src/Lucene.Net.Facet/FacetResult.cs                |  9 +++++++--
 src/Lucene.Net.Facet/FacetsCollector.cs            |  4 ++++
 .../Taxonomy/AssociationFacetField.cs              |  3 +++
 .../Taxonomy/CachedOrdinalsReader.cs               |  9 +++++++--
 src/Lucene.Net.Facet/Taxonomy/CategoryPath.cs      |  5 ++++-
 .../Taxonomy/Directory/DirectoryTaxonomyWriter.cs  |  2 +-
 .../Taxonomy/Directory/TaxonomyIndexArrays.cs      | 12 ++++++++++--
 src/Lucene.Net.Facet/Taxonomy/FacetLabel.cs        |  5 ++++-
 .../Taxonomy/ParallelTaxonomyArrays.cs             | 17 +++++++++++++----
 src/Lucene.Net.Tests.Facet/TestApiConsistency.cs   |  4 ----
 11 files changed, 57 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/FacetField.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/FacetField.cs b/src/Lucene.Net.Facet/FacetField.cs
index 1b74824..1dc690e 100644
--- a/src/Lucene.Net.Facet/FacetField.cs
+++ b/src/Lucene.Net.Facet/FacetField.cs
@@ -1,4 +1,5 @@
 \ufeffusing Lucene.Net.Support;
+using System.Diagnostics.CodeAnalysis;
 
 namespace Lucene.Net.Facet
 {
@@ -48,7 +49,9 @@ namespace Lucene.Net.Facet
         /// <summary>
         /// Path for this field.
         /// </summary>
-        public string[] Path { get; private set; } // LUCENENET TODO: public array property
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public string[] Path { get; private set; }
 
         /// <summary>
         /// Creates the this from <paramref name="dim"/> and

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/FacetResult.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/FacetResult.cs b/src/Lucene.Net.Facet/FacetResult.cs
index 09beec4..294d2f5 100644
--- a/src/Lucene.Net.Facet/FacetResult.cs
+++ b/src/Lucene.Net.Facet/FacetResult.cs
@@ -1,5 +1,6 @@
 \ufeffusing Lucene.Net.Support;
 using System;
+using System.Diagnostics.CodeAnalysis;
 using System.Globalization;
 using System.Text;
 
@@ -35,7 +36,9 @@ namespace Lucene.Net.Facet
         /// <summary>
         /// Path whose children were requested.
         /// </summary>
-        public string[] Path { get; private set; } // LUCENENET TODO: public array property
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public string[] Path { get; private set; } 
 
         /// <summary>
         /// Total value for this path (sum of all child counts, or
@@ -52,7 +55,9 @@ namespace Lucene.Net.Facet
         /// <summary>
         /// Child counts.
         /// </summary>
-        public LabelAndValue[] LabelValues { get; private set; } // LUCENENET TODO: public array property
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public LabelAndValue[] LabelValues { get; private set; }
 
         /// <summary>
         /// The original data type of <see cref="Value"/> that was passed through the constructor.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/FacetsCollector.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/FacetsCollector.cs b/src/Lucene.Net.Facet/FacetsCollector.cs
index adb6d83..df3d517 100644
--- a/src/Lucene.Net.Facet/FacetsCollector.cs
+++ b/src/Lucene.Net.Facet/FacetsCollector.cs
@@ -1,8 +1,10 @@
 \ufeffusing Lucene.Net.Index;
 using Lucene.Net.Search;
+using Lucene.Net.Support;
 using Lucene.Net.Util;
 using System;
 using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
 
 namespace Lucene.Net.Facet
 {
@@ -83,6 +85,8 @@ namespace Lucene.Net.Facet
 
             /// <summary>
             /// Non-sparse scores array. </summary>
+            [WritableArray]
+            [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
             public float[] Scores { get; private set; }
 
             /// <summary>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/AssociationFacetField.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/AssociationFacetField.cs b/src/Lucene.Net.Facet/Taxonomy/AssociationFacetField.cs
index c4beaab..66ee6ee 100644
--- a/src/Lucene.Net.Facet/Taxonomy/AssociationFacetField.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/AssociationFacetField.cs
@@ -1,4 +1,5 @@
 \ufeffusing Lucene.Net.Support;
+using System.Diagnostics.CodeAnalysis;
 
 namespace Lucene.Net.Facet.Taxonomy
 {
@@ -54,6 +55,8 @@ namespace Lucene.Net.Facet.Taxonomy
         /// <summary>
         /// Facet path for this field.
         /// </summary>
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
         public string[] Path { get; private set; }
 
         /// <summary>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/CachedOrdinalsReader.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/CachedOrdinalsReader.cs b/src/Lucene.Net.Facet/Taxonomy/CachedOrdinalsReader.cs
index 44f9bec..31ca1a5 100644
--- a/src/Lucene.Net.Facet/Taxonomy/CachedOrdinalsReader.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/CachedOrdinalsReader.cs
@@ -1,6 +1,7 @@
 \ufeffusing Lucene.Net.Support;
 using System;
 using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
 using System.Threading;
 
 namespace Lucene.Net.Facet.Taxonomy
@@ -129,12 +130,16 @@ namespace Lucene.Net.Facet.Taxonomy
             /// <summary>
             /// Index into <see cref="Ordinals"/> for each document.
             /// </summary>
-            public int[] Offsets { get; private set; } // LUCENENET TODO: property returning array
+            [WritableArray]
+            [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+            public int[] Offsets { get; private set; }
 
             /// <summary>
             /// Holds ords for all docs.
             /// </summary>
-            public int[] Ordinals { get; private set; } // LUCENENET TODO: property returning array
+            [WritableArray]
+            [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+            public int[] Ordinals { get; private set; }
 
             /// <summary>
             /// Creates a new <see cref="CachedOrds"/> from the <see cref="BinaryDocValues"/>.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/CategoryPath.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/CategoryPath.cs b/src/Lucene.Net.Facet/Taxonomy/CategoryPath.cs
index 6793a3f..4810804 100644
--- a/src/Lucene.Net.Facet/Taxonomy/CategoryPath.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/CategoryPath.cs
@@ -1,6 +1,7 @@
 \ufeffusing Lucene.Net.Support;
 using System;
 using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
 using System.Text;
 
 namespace Lucene.Net.Facet.Taxonomy
@@ -41,7 +42,9 @@ namespace Lucene.Net.Facet.Taxonomy
         /// <see cref="Subpath(int)"/>, therefore you should traverse the array up to
         /// <see cref="Length"/> for this path's components.
         /// </summary>
-        public string[] Components { get; private set; } // LUCENENET TODO: public array property
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public string[] Components { get; private set; }
 
         /// <summary>
         /// The number of components of this <see cref="CategoryPath"/>. </summary>

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs b/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
index b34a190..a0e4c64 100644
--- a/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/Directory/DirectoryTaxonomyWriter.cs
@@ -1022,7 +1022,7 @@ namespace Lucene.Net.Facet.Taxonomy.Directory
 
             public int[] GetMap()
             {
-                return map.ToArray(); // LUCENENET specific: Since this is clearly not meant to be written to, we are cloning the array
+                return (int[])map.Clone(); // LUCENENET specific: Since this is clearly not meant to be written to, we are cloning the array https://msdn.microsoft.com/en-us/library/0fss9skc.aspx
             }
         }
 

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/Directory/TaxonomyIndexArrays.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/Directory/TaxonomyIndexArrays.cs b/src/Lucene.Net.Facet/Taxonomy/Directory/TaxonomyIndexArrays.cs
index fab87b6..e939ede 100644
--- a/src/Lucene.Net.Facet/Taxonomy/Directory/TaxonomyIndexArrays.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/Directory/TaxonomyIndexArrays.cs
@@ -1,5 +1,7 @@
-\ufeffusing System;
+\ufeffusing Lucene.Net.Support;
+using System;
 using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
 
 namespace Lucene.Net.Facet.Taxonomy.Directory
 {
@@ -210,6 +212,8 @@ namespace Lucene.Net.Facet.Taxonomy.Directory
         /// Returns the parents array, where <c>Parents[i]</c> denotes the parent of
         /// category ordinal <c>i</c>.
         /// </summary>
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
         public override int[] Parents
         {
             get
@@ -224,7 +228,9 @@ namespace Lucene.Net.Facet.Taxonomy.Directory
         /// category that was added last to the taxonomy as an immediate child of
         /// <c>i</c>.
         /// </summary>
-        public override int[] Children // LUCENENET TODO: Change to GetChildren() (check consistency)
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public override int[] Children
         {
             get
             {
@@ -243,6 +249,8 @@ namespace Lucene.Net.Facet.Taxonomy.Directory
         /// of category ordinal <c>i</c>. The sibling is defined as the previous
         /// youngest child of <c>Parents[i]</c>.
         /// </summary>
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
         public override int[] Siblings
         {
             get

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/FacetLabel.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/FacetLabel.cs b/src/Lucene.Net.Facet/Taxonomy/FacetLabel.cs
index c823e7a..10ff894 100644
--- a/src/Lucene.Net.Facet/Taxonomy/FacetLabel.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/FacetLabel.cs
@@ -1,6 +1,7 @@
 \ufeffusing Lucene.Net.Support;
 using System;
 using System.Diagnostics;
+using System.Diagnostics.CodeAnalysis;
 
 namespace Lucene.Net.Facet.Taxonomy
 {
@@ -50,7 +51,9 @@ namespace Lucene.Net.Facet.Taxonomy
         /// <see cref="Subpath(int)"/>, therefore you should traverse the array up to
         /// <see cref="Length"/> for this path's components.
         /// </summary>
-        public string[] Components { get; private set; } // LUCENENET TODO: public array property
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public string[] Components { get; private set; }
 
         /// <summary>
         /// The number of components of this <see cref="FacetLabel"/>.

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Facet/Taxonomy/ParallelTaxonomyArrays.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Facet/Taxonomy/ParallelTaxonomyArrays.cs b/src/Lucene.Net.Facet/Taxonomy/ParallelTaxonomyArrays.cs
index 510127a..c5db947 100644
--- a/src/Lucene.Net.Facet/Taxonomy/ParallelTaxonomyArrays.cs
+++ b/src/Lucene.Net.Facet/Taxonomy/ParallelTaxonomyArrays.cs
@@ -1,4 +1,7 @@
-\ufeffnamespace Lucene.Net.Facet.Taxonomy
+\ufeffusing Lucene.Net.Support;
+using System.Diagnostics.CodeAnalysis;
+
+namespace Lucene.Net.Facet.Taxonomy
 {
     /*
 	 * Licensed to the Apache Software Foundation (ASF) under one or more
@@ -53,18 +56,24 @@
         /// Returns the parents array, where <c>Parents[i]</c> denotes the parent of
         /// category ordinal <c>i</c>.
         /// </summary>
-        public abstract int[] Parents { get; } // LUCENENET TODO: Change to GetParents()
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public abstract int[] Parents { get; }
 
         /// <summary>
         /// Returns the children array, where <c>Children[i]</c> denotes a child of
         /// category ordinal <c>i</c>.
         /// </summary>
-        public abstract int[] Children { get; } // LUCENENET TODO: Change to GetChildren()
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public abstract int[] Children { get; }
 
         /// <summary>
         /// Returns the siblings array, where <c>Siblings[i]</c> denotes the sibling
         /// of category ordinal <c>i</c>.
         /// </summary>
-        public abstract int[] Siblings { get; } // LUCENENET TODO: Change to GetSiblings()
+        [WritableArray]
+        [SuppressMessage("Microsoft.Performance", "CA1819", Justification = "Lucene's design requires some writable array properties")]
+        public abstract int[] Siblings { get; }
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/lucenenet/blob/a03ef7cb/src/Lucene.Net.Tests.Facet/TestApiConsistency.cs
----------------------------------------------------------------------
diff --git a/src/Lucene.Net.Tests.Facet/TestApiConsistency.cs b/src/Lucene.Net.Tests.Facet/TestApiConsistency.cs
index b011a9e..4842da5 100644
--- a/src/Lucene.Net.Tests.Facet/TestApiConsistency.cs
+++ b/src/Lucene.Net.Tests.Facet/TestApiConsistency.cs
@@ -2,10 +2,6 @@
 using Lucene.Net.Util;
 using NUnit.Framework;
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace Lucene.Net.Tests.Facet
 {