| <?xml version="1.0" encoding="utf-8"?> |
| |
| <!-- |
| 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. |
| --> |
| |
| <root> |
| <!-- |
| Microsoft ResX Schema |
| |
| Version 2.0 |
| |
| The primary goals of this format is to allow a simple XML format |
| that is mostly human readable. The generation and parsing of the |
| various data types are done through the TypeConverter classes |
| associated with the data types. |
| |
| Example: |
| |
| ... ado.net/XML headers & schema ... |
| <resheader name="resmimetype">text/microsoft-resx</resheader> |
| <resheader name="version">2.0</resheader> |
| <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> |
| <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> |
| <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> |
| <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> |
| <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> |
| <value>[base64 mime encoded serialized .NET Framework object]</value> |
| </data> |
| <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> |
| <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> |
| <comment>This is a comment</comment> |
| </data> |
| |
| There are any number of "resheader" rows that contain simple |
| name/value pairs. |
| |
| Each data row contains a name, and value. The row also contains a |
| type or mimetype. Type corresponds to a .NET class that support |
| text/value conversion through the TypeConverter architecture. |
| Classes that don't support this are serialized and stored with the |
| mimetype set. |
| |
| The mimetype is used for serialized objects, and tells the |
| ResXResourceReader how to depersist the object. This is currently not |
| extensible. For a given mimetype the value must be set accordingly: |
| |
| Note - application/x-microsoft.net.object.binary.base64 is the format |
| that the ResXResourceWriter will generate, however the reader can |
| read any of the formats listed below. |
| |
| mimetype: application/x-microsoft.net.object.binary.base64 |
| value : The object must be serialized with |
| : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter |
| : and then encoded with base64 encoding. |
| |
| mimetype: application/x-microsoft.net.object.soap.base64 |
| value : The object must be serialized with |
| : System.Runtime.Serialization.Formatters.Soap.SoapFormatter |
| : and then encoded with base64 encoding. |
| |
| mimetype: application/x-microsoft.net.object.bytearray.base64 |
| value : The object must be serialized into a byte array |
| : using a System.ComponentModel.TypeConverter |
| : and then encoded with base64 encoding. |
| --> |
| <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> |
| <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> |
| <xsd:element name="root" msdata:IsDataSet="true"> |
| <xsd:complexType> |
| <xsd:choice maxOccurs="unbounded"> |
| <xsd:element name="metadata"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="value" type="xsd:string" minOccurs="0" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" use="required" type="xsd:string" /> |
| <xsd:attribute name="type" type="xsd:string" /> |
| <xsd:attribute name="mimetype" type="xsd:string" /> |
| <xsd:attribute ref="xml:space" /> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="assembly"> |
| <xsd:complexType> |
| <xsd:attribute name="alias" type="xsd:string" /> |
| <xsd:attribute name="name" type="xsd:string" /> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="data"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
| <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> |
| <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> |
| <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> |
| <xsd:attribute ref="xml:space" /> |
| </xsd:complexType> |
| </xsd:element> |
| <xsd:element name="resheader"> |
| <xsd:complexType> |
| <xsd:sequence> |
| <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> |
| </xsd:sequence> |
| <xsd:attribute name="name" type="xsd:string" use="required" /> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:choice> |
| </xsd:complexType> |
| </xsd:element> |
| </xsd:schema> |
| <resheader name="resmimetype"> |
| <value>text/microsoft-resx</value> |
| </resheader> |
| <resheader name="version"> |
| <value>2.0</value> |
| </resheader> |
| <resheader name="reader"> |
| <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| </resheader> |
| <resheader name="writer"> |
| <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> |
| </resheader> |
| <data name="LuceneDev1000_AnalyzerDescription" xml:space="preserve"> |
| <value>Floating point types should not be compared for exact equality.</value> |
| <comment>An optional longer localizable description of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1000_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' may fail due to JIT optimizations. Floating point types should not be compared for exact equality.</value> |
| <comment>The format-able message the diagnostic displays.</comment> |
| </data> |
| <data name="LuceneDev1000_AnalyzerTitle" xml:space="preserve"> |
| <value>Floating point types should not be compared for exact equality</value> |
| <comment>The title of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1001_AnalyzerDescription" xml:space="preserve"> |
| <value>Floating point types should be formatted with J2N.Numerics.Single.ToString() or J2N.Numerics.Double.ToString().</value> |
| <comment>An optional longer localizable description of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1001_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' may fail due to floating point precision issues on .NET Framework and .NET Core prior to version 3.0. Floating point types should be formatted with J2N.Numerics.Single.ToString() or J2N.Numerics.Double.ToString().</value> |
| <comment>The format-able message the diagnostic displays.</comment> |
| </data> |
| <data name="LuceneDev1001_AnalyzerTitle" xml:space="preserve"> |
| <value>Floating point types should be formatted with J2N Numerics Single or Double ToString methods</value> |
| <comment>The title of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1002_AnalyzerDescription" xml:space="preserve"> |
| <value>Floating point type arithmetic needs to be checked on x86 in .NET Framework.</value> |
| <comment>An optional longer localizable description of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1002_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' may fail due to floating point precision issues on .NET Framework and .NET Core prior to version 3.0. Floating point type arithmetic needs to be checked on x86 in .NET Framework and may require extra casting.</value> |
| <comment>The format-able message the diagnostic displays.</comment> |
| </data> |
| <data name="LuceneDev1002_AnalyzerTitle" xml:space="preserve"> |
| <value>Floating point type arithmetic needs to be checked on some x86 platforms</value> |
| <comment>The title of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1003_AnalyzerDescription" xml:space="preserve"> |
| <value>Method parameters that accept array types should be analyzed to determine whether they are better suited to be ref or out parameters.</value> |
| <comment>Java is lacking ref and out parameters. As a result, code ported from Java may use parameters that accept a 1-dimensional array in order to facilitate returning a reference to a value type. In .NET these hacks are unnecessary and these parameters should be converted to ref, out, or ValueTuple parameters.</comment> |
| </data> |
| <data name="LuceneDev1003_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' needs to be analyzed to determine whether the array can be replaced with a ref or out parameter</value> |
| <comment>The format-able message the diagnostic displays.</comment> |
| </data> |
| <data name="LuceneDev1003_AnalyzerTitle" xml:space="preserve"> |
| <value>Method parameters that accept array types should be analyzed to determine whether they are better suited to be ref or out parameters</value> |
| <comment>The title of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1004_AnalyzerDescription" xml:space="preserve"> |
| <value>Methods that return array types should be analyzed to determine whether they are better suited to be one or more out parameters or to return a ValueTuple.</value> |
| <comment>Java is lacking ref and out parameters. As a result, code ported from Java may use methods that return a 1-dimensional array in order to facilitate returning a reference to multiple value types. In .NET these hacks are unnecessary and these return values should be converted to out parameters or return a ValueTuple.</comment> |
| </data> |
| <data name="LuceneDev1004_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' return type needs to be analyzed to determine whether the array return value can be replaced with one or more out parameters or a return ValueTuple instead of an array to avoid the heap allocation</value> |
| <comment>The format-able message the diagnostic displays.</comment> |
| </data> |
| <data name="LuceneDev1004_AnalyzerTitle" xml:space="preserve"> |
| <value>Methods that return array types should be analyzed to determine whether they are better suited to be one or more out parameters or to return a ValueTuple</value> |
| <comment>The title of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1005_AnalyzerTitle" xml:space="preserve"> |
| <value>Types in the Support namespace should not be public</value> |
| </data> |
| <data name="LuceneDev1005_AnalyzerDescription" xml:space="preserve"> |
| <value>Types in the Lucene.Net.Support namespace should not be public.</value> |
| </data> |
| <data name="LuceneDev1005_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>{0} '{1}' should not have public accessibility in the Support namespace</value> |
| </data> |
| <data name="LuceneDev1006_AnalyzerTitle" xml:space="preserve"> |
| <value>Floating point values embedded in strings should use J2N Numerics formatting</value> |
| <comment>The title of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1006_AnalyzerDescription" xml:space="preserve"> |
| <value>Floating point values should be formatted with J2N.Numerics.Single.ToString() or J2N.Numerics.Double.ToString() before being embedded into strings to ensure consistent behavior across runtimes.</value> |
| <comment>An optional longer localizable description of the diagnostic.</comment> |
| </data> |
| <data name="LuceneDev1006_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' may fail due to floating point precision issues on .NET Framework and .NET Core prior to version 3.0. Floating point values should be formatted with J2N.Numerics.Single.ToString() or J2N.Numerics.Double.ToString() before being embedded into strings.</value> |
| <comment>The format-able message the diagnostic displays.</comment> |
| </data> |
| |
| <!-- 1007: Generic Dictionary indexer with value-type value --> |
| <data name="LuceneDev1007_AnalyzerTitle" xml:space="preserve"> |
| <value>Generic Dictionary indexer should not be used to retrieve values (value type)</value> |
| </data> |
| <data name="LuceneDev1007_AnalyzerDescription" xml:space="preserve"> |
| <value>Reading values from IDictionary<TKey, TValue> or IReadOnlyDictionary<TKey, TValue> via the indexer throws KeyNotFoundException when the key is missing. Use TryGetValue instead.</value> |
| </data> |
| <data name="LuceneDev1007_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Generic Dictionary indexer '{0}' may throw KeyNotFoundException. Use TryGetValue instead.</value> |
| </data> |
| |
| <!-- 1008: Generic Dictionary indexer with reference-type value --> |
| <data name="LuceneDev1008_AnalyzerTitle" xml:space="preserve"> |
| <value>Generic Dictionary indexer should not be used to retrieve values (reference type)</value> |
| </data> |
| <data name="LuceneDev1008_AnalyzerDescription" xml:space="preserve"> |
| <value>Reading values from IDictionary<TKey, TValue> or IReadOnlyDictionary<TKey, TValue> via the indexer throws KeyNotFoundException when the key is missing. Use TryGetValue instead, and check the out value for null before using it.</value> |
| </data> |
| <data name="LuceneDev1008_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Generic Dictionary indexer '{0}' may throw KeyNotFoundException. Use TryGetValue and check the value for null.</value> |
| </data> |
| |
| <!-- 6000: Non-generic IDictionary indexer usage --> |
| <data name="LuceneDev6000_AnalyzerTitle" xml:space="preserve"> |
| <value>Non-generic IDictionary indexer may return null</value> |
| </data> |
| <data name="LuceneDev6000_AnalyzerDescription" xml:space="preserve"> |
| <value>The non-generic IDictionary indexer returns null for missing keys rather than throwing. Review these usages to ensure the value is checked for null before use.</value> |
| </data> |
| <data name="LuceneDev6000_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Non-generic IDictionary indexer '{0}' may return null for missing keys. Verify the value is checked for null before use.</value> |
| </data> |
| |
| <!-- 6001: Missing StringComparison --> |
| <data name="LuceneDev6001_AnalyzerTitle" xml:space="preserve"> |
| <value>Missing StringComparison argument</value> |
| </data> |
| <data name="LuceneDev6001_AnalyzerDescription" xml:space="preserve"> |
| <value>Calls to string comparison methods like StartsWith, EndsWith, IndexOf, and LastIndexOf must explicitly specify a StringComparison to enforce culture-invariant and consistent behavior.</value> |
| </data> |
| <data name="LuceneDev6001_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' must specify a StringComparison argument. Use StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase.</value> |
| </data> |
| |
| <!-- 6002: Invalid StringComparison --> |
| <data name="LuceneDev6002_AnalyzerTitle" xml:space="preserve"> |
| <value>Invalid StringComparison argument</value> |
| </data> |
| <data name="LuceneDev6002_AnalyzerDescription" xml:space="preserve"> |
| <value>Only StringComparison.Ordinal or StringComparison.OrdinalIgnoreCase are allowed to ensure predictable and high-performance string comparisons.</value> |
| </data> |
| <data name="LuceneDev6002_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' uses invalid StringComparison value '{1}'. Only Ordinal or OrdinalIgnoreCase are allowed.</value> |
| </data> |
| |
| <!-- 6003: Redundant Ordinal on span --> |
| <data name="LuceneDev6003_AnalyzerTitle" xml:space="preserve"> |
| <value>Redundant StringComparison.Ordinal argument</value> |
| </data> |
| <data name="LuceneDev6003_AnalyzerDescription" xml:space="preserve"> |
| <value>Span-based overloads already perform ordinal comparison by default. Removing redundant arguments simplifies the code and improves clarity.</value> |
| </data> |
| <data name="LuceneDev6003_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' on span overload already uses ordinal comparison. Remove the redundant StringComparison.Ordinal argument.</value> |
| </data> |
| |
| <!-- 6004: Invalid comparison on span --> |
| <data name="LuceneDev6004_AnalyzerTitle" xml:space="preserve"> |
| <value>Invalid StringComparison argument for span overload</value> |
| </data> |
| <data name="LuceneDev6004_AnalyzerDescription" xml:space="preserve"> |
| <value>Span-based methods only support StringComparison.Ordinal and StringComparison.OrdinalIgnoreCase. Other values are not valid and should be removed or corrected.</value> |
| </data> |
| <data name="LuceneDev6004_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' uses invalid StringComparison value '{1}'. Span overloads only support Ordinal or OrdinalIgnoreCase.</value> |
| </data> |
| |
| <!-- 6005: Single-character string optimization --> |
| <data name="LuceneDev6005_AnalyzerTitle" xml:space="preserve"> |
| <value>Single-character string argument should use char overload</value> |
| </data> |
| <data name="LuceneDev6005_AnalyzerDescription" xml:space="preserve"> |
| <value>Using char overloads instead of single-character string literals avoids unnecessary string allocations and improves performance.</value> |
| </data> |
| <data name="LuceneDev6005_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' uses a single-character string literal. Use the char overload instead (e.g., 'x' instead of "x").</value> |
| </data> |
| |
| <!-- 2000: BCL numeric Parse/TryParse missing IFormatProvider --> |
| <data name="LuceneDev2000_AnalyzerTitle" xml:space="preserve"> |
| <value>Numeric Parse/TryParse should specify an IFormatProvider</value> |
| </data> |
| <data name="LuceneDev2000_AnalyzerDescription" xml:space="preserve"> |
| <value>Calls to numeric Parse and TryParse methods without an IFormatProvider use the current culture in .NET, but Java Lucene parses numerics using invariant culture. Specify CultureInfo.InvariantCulture (or CultureInfo.CurrentCulture, where intended) explicitly.</value> |
| </data> |
| <data name="LuceneDev2000_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' on numeric type '{1}' should specify an IFormatProvider (typically CultureInfo.InvariantCulture).</value> |
| </data> |
| |
| <!-- 2001: BCL numeric ToString/TryFormat missing IFormatProvider --> |
| <data name="LuceneDev2001_AnalyzerTitle" xml:space="preserve"> |
| <value>Numeric ToString/TryFormat should specify an IFormatProvider</value> |
| </data> |
| <data name="LuceneDev2001_AnalyzerDescription" xml:space="preserve"> |
| <value>Calls to numeric ToString and TryFormat without an IFormatProvider use the current culture in .NET, but Java Lucene formats numerics using invariant culture. Specify CultureInfo.InvariantCulture (or CultureInfo.CurrentCulture, where intended) explicitly. Calls inside a ToString() override are exempted because that signature has no IFormatProvider parameter.</value> |
| </data> |
| <data name="LuceneDev2001_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' on numeric type '{1}' should specify an IFormatProvider (typically CultureInfo.InvariantCulture).</value> |
| </data> |
| |
| <!-- 2002: System.Convert numeric methods missing IFormatProvider --> |
| <data name="LuceneDev2002_AnalyzerTitle" xml:space="preserve"> |
| <value>System.Convert numeric method should specify an IFormatProvider</value> |
| </data> |
| <data name="LuceneDev2002_AnalyzerDescription" xml:space="preserve"> |
| <value>Calls to System.Convert numeric methods without an IFormatProvider use the current culture in .NET, but Java Lucene uses invariant culture. Specify CultureInfo.InvariantCulture (or CultureInfo.CurrentCulture, where intended) explicitly. Prefer the Parse/TryParse methods on the type for performance and flexibility.</value> |
| </data> |
| <data name="LuceneDev2002_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to 'Convert.{0}' should specify an IFormatProvider (typically CultureInfo.InvariantCulture).</value> |
| </data> |
| |
| <!-- 2003: string.Format with numeric argument missing IFormatProvider --> |
| <data name="LuceneDev2003_AnalyzerTitle" xml:space="preserve"> |
| <value>string.Format with numeric argument should specify an IFormatProvider</value> |
| </data> |
| <data name="LuceneDev2003_AnalyzerDescription" xml:space="preserve"> |
| <value>Calls to string.Format with numeric arguments and no IFormatProvider format the values in the current culture, but Java Lucene uses invariant culture. Pass CultureInfo.InvariantCulture (or CultureInfo.CurrentCulture, where intended) as the first argument.</value> |
| </data> |
| <data name="LuceneDev2003_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to 'string.Format' with a numeric argument should specify an IFormatProvider (typically CultureInfo.InvariantCulture).</value> |
| </data> |
| |
| <!-- 2004: J2N.Numerics.* missing IFormatProvider --> |
| <data name="LuceneDev2004_AnalyzerTitle" xml:space="preserve"> |
| <value>J2N numeric method should specify an IFormatProvider</value> |
| </data> |
| <data name="LuceneDev2004_AnalyzerDescription" xml:space="preserve"> |
| <value>Calls to J2N.Numerics.* Parse, TryParse, ToString, or TryFormat methods without an IFormatProvider should be reviewed. J2N intentionally lacks many overloads that omit IFormatProvider; the few that exist (e.g., legacy ToString overloads) should still pass an explicit culture.</value> |
| </data> |
| <data name="LuceneDev2004_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' on J2N numeric type '{1}' should specify an IFormatProvider (typically CultureInfo.InvariantCulture).</value> |
| </data> |
| |
| <!-- 2005: Implicit numeric formatting via string concatenation --> |
| <data name="LuceneDev2005_AnalyzerTitle" xml:space="preserve"> |
| <value>Numeric type concatenated to string formats using current culture</value> |
| </data> |
| <data name="LuceneDev2005_AnalyzerDescription" xml:space="preserve"> |
| <value>Concatenating a numeric value with a string (e.g., "" + i) implicitly formats the value using the current culture, but Java Lucene uses invariant culture. Wrap the numeric expression in .ToString(CultureInfo.InvariantCulture) (or CultureInfo.CurrentCulture, where intended) explicitly.</value> |
| </data> |
| <data name="LuceneDev2005_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Numeric value of type '{0}' is concatenated to a string and will be formatted using the current culture. Wrap with .ToString(CultureInfo.InvariantCulture) explicitly.</value> |
| </data> |
| |
| <!-- 2006: Implicit numeric formatting via string interpolation --> |
| <data name="LuceneDev2006_AnalyzerTitle" xml:space="preserve"> |
| <value>Numeric value in interpolated string formats using current culture</value> |
| </data> |
| <data name="LuceneDev2006_AnalyzerDescription" xml:space="preserve"> |
| <value>Interpolated strings (e.g., $"{i}") implicitly format numeric values using the current culture, but Java Lucene uses invariant culture. Use FormattableString.Invariant($"...") or string.Create(CultureInfo.InvariantCulture, $"..."), or wrap the value in .ToString(CultureInfo.InvariantCulture) explicitly.</value> |
| </data> |
| <data name="LuceneDev2006_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Numeric value of type '{0}' is interpolated into a string and will be formatted using the current culture. Use FormattableString.Invariant or wrap with .ToString(CultureInfo.InvariantCulture) explicitly.</value> |
| </data> |
| |
| <!-- 2007: Explicit IFormatProvider passed, but not InvariantCulture --> |
| <data name="LuceneDev2007_AnalyzerTitle" xml:space="preserve"> |
| <value>Numeric format/parse uses non-invariant culture</value> |
| </data> |
| <data name="LuceneDev2007_AnalyzerDescription" xml:space="preserve"> |
| <value>The IFormatProvider passed to a numeric format/parse call is not CultureInfo.InvariantCulture. Java Lucene uses invariant culture by default; suppress this warning explicitly when the use of a different culture is intentional.</value> |
| </data> |
| <data name="LuceneDev2007_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' passes a non-invariant IFormatProvider. Use CultureInfo.InvariantCulture unless current-culture behavior is intentional.</value> |
| </data> |
| |
| <!-- 2008: Explicit IFormatProvider passed, and it IS InvariantCulture (review aid) --> |
| <data name="LuceneDev2008_AnalyzerTitle" xml:space="preserve"> |
| <value>Numeric format/parse uses CultureInfo.InvariantCulture (review aid)</value> |
| </data> |
| <data name="LuceneDev2008_AnalyzerDescription" xml:space="preserve"> |
| <value>Disabled by default. Enable during the culture-correctness audit to walk every numeric format/parse call that already passes CultureInfo.InvariantCulture, so each can be verified.</value> |
| </data> |
| <data name="LuceneDev2008_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>Call to '{0}' passes CultureInfo.InvariantCulture; verify this matches Lucene's behavior at this site.</value> |
| </data> |
| |
| <!-- 4000: NoInlining on interface or abstract method --> |
| <data name="LuceneDev4000_AnalyzerTitle" xml:space="preserve"> |
| <value>[MethodImpl(MethodImplOptions.NoInlining)] has no effect on interface or abstract methods</value> |
| </data> |
| <data name="LuceneDev4000_AnalyzerDescription" xml:space="preserve"> |
| <value>The MethodImpl attribute is not inherited, so applying NoInlining to an interface or abstract method declaration has no effect on the eventual implementation. Apply the attribute to the implementing method instead.</value> |
| </data> |
| <data name="LuceneDev4000_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>[MethodImpl(MethodImplOptions.NoInlining)] on '{0}' has no effect because the method is abstract or an interface member; remove the attribute or apply it to the implementation.</value> |
| </data> |
| |
| <!-- 4001: NoInlining on empty-bodied method --> |
| <data name="LuceneDev4001_AnalyzerTitle" xml:space="preserve"> |
| <value>[MethodImpl(MethodImplOptions.NoInlining)] should not be used on empty-bodied methods</value> |
| </data> |
| <data name="LuceneDev4001_AnalyzerDescription" xml:space="preserve"> |
| <value>An empty-bodied method calls nothing, so it cannot appear above any frame in a stack trace. Preventing inlining provides no benefit and only harms performance.</value> |
| </data> |
| <data name="LuceneDev4001_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>[MethodImpl(MethodImplOptions.NoInlining)] on '{0}' has no benefit because the method body is empty; remove the attribute.</value> |
| </data> |
| |
| <!-- 4002: Missing NoInlining on method referenced by StackTraceHelper.DoesStackTraceContainMethod --> |
| <data name="LuceneDev4002_AnalyzerTitle" xml:space="preserve"> |
| <value>Method referenced by StackTraceHelper.DoesStackTraceContainMethod should be marked NoInlining</value> |
| </data> |
| <data name="LuceneDev4002_AnalyzerDescription" xml:space="preserve"> |
| <value>If a method is referenced by StackTraceHelper.DoesStackTraceContainMethod and the JIT inlines it, the method will not appear in the stack trace and the check will silently fail. Apply [MethodImpl(MethodImplOptions.NoInlining)] to the method.</value> |
| </data> |
| <data name="LuceneDev4002_AnalyzerMessageFormat" xml:space="preserve"> |
| <value>'{0}' is referenced by this StackTraceHelper.DoesStackTraceContainMethod call and should be marked with [MethodImpl(MethodImplOptions.NoInlining)] to prevent the JIT from inlining it out of the stack trace.</value> |
| </data> |
| |
| </root> |