diff --git a/.editorconfig b/.editorconfig
index e55c230..b90504f 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -28,7 +28,7 @@ indent_size = 2
tab_width = 2
[*.md]
-# mark left margion for split screen preview of markdown files
+# mark left margin for split screen preview of markdown files
# requires: https://marketplace.visualstudio.com/items?itemName=PaulHarrington.EditorGuidelinesPreview
guidelines = 92
@@ -133,31 +133,31 @@ dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case
dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
-dotnet_naming_symbols.interface.required_modifiers =
+dotnet_naming_symbols.interface.required_modifiers =
dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
-dotnet_naming_symbols.types.required_modifiers =
+dotnet_naming_symbols.types.required_modifiers =
dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
-dotnet_naming_symbols.non_field_members.required_modifiers =
+dotnet_naming_symbols.non_field_members.required_modifiers =
# Naming styles
dotnet_naming_style.begins_with_i.required_prefix = I
-dotnet_naming_style.begins_with_i.required_suffix =
-dotnet_naming_style.begins_with_i.word_separator =
+dotnet_naming_style.begins_with_i.required_suffix =
+dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case
-dotnet_naming_style.pascal_case.required_prefix =
-dotnet_naming_style.pascal_case.required_suffix =
-dotnet_naming_style.pascal_case.word_separator =
+dotnet_naming_style.pascal_case.required_prefix =
+dotnet_naming_style.pascal_case.required_suffix =
+dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
-dotnet_naming_style.pascal_case.required_prefix =
-dotnet_naming_style.pascal_case.required_suffix =
-dotnet_naming_style.pascal_case.word_separator =
+dotnet_naming_style.pascal_case.required_prefix =
+dotnet_naming_style.pascal_case.required_suffix =
+dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case
dotnet_style_coalesce_expression = true:warning
dotnet_style_null_propagation = true:warning
diff --git a/IgnoredWords.dic b/IgnoredWords.dic
index 7f24828..2b5b902 100644
--- a/IgnoredWords.dic
+++ b/IgnoredWords.dic
@@ -4,6 +4,7 @@ accessors
Addr
addref
alloca
+amongst
anonymize
antlr
api
@@ -34,10 +35,13 @@ buildtransitive
builtinop
byref
byval
+Cacheable
callee
canonicalization
castable
+checkin
cibuild
+cmake
Cmp
Comdat
Comdats
@@ -71,6 +75,7 @@ fallback
finalizer
finalizers
foo
+formattable
fullsrc
func
getelementptr
@@ -83,21 +88,26 @@ Identifier
ifunc
Impl
initializer
+initializers
inline
inlined
inlining
+Installshield
Interop
ints
+invocable
jit
len
Lexer
LibLLVM
+Licensor
Llilum
llvm
llvmversion
lookups
LValue
malloc
+marshalers
marshallers
marshalling
materializer
@@ -110,9 +120,12 @@ minimalistic
Mips
msbuild
msg
+namespace
+namespaces
nav
nint
noinline
+nop
nounwind
nuint
nullability
@@ -125,7 +138,9 @@ outdent
pages
paren
perf
+performant
pointee
+Polyfill
polyfills
pragma
pragmas
@@ -143,6 +158,7 @@ runtimes
RValue
servable
shaders
+Silverlight
sizeof
Sparc
src
@@ -152,9 +168,11 @@ struct
structs
Subrange
Sym
+Tag
telliam
templated
templating
+theming
tl
trx
typdef
@@ -165,8 +183,11 @@ typeof
uid
uint
unaryop
+uncached
+Uncomment
Undefine
undiscoverable
+unencrypted
Unhandled
uniqued
uniqueing
@@ -175,6 +196,7 @@ unmarshal
unoptimized
unreferenced
Unshipped
+untrusted
userdefinedop
Users
usings
@@ -185,6 +207,7 @@ variadic
vcxproj
versioned
versioning
+wwwroot
Xchg
Xor
xref
diff --git a/README.md b/README.md
index 03f1625..0f81ffa 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,20 @@
# Ubiquity.NET.Utils
-Utility packages
+Utility packages To support a variety of scenarios. This repository is mostly a [Grab Bag](https://www.wordnik.com/words/grab%20bag)
+of multiple small libraries that didn't warrant a distinct repository.
+
+| Library | Description |
+|---------|-------------|
+| [Ubiquity.NET.Antlr.Utils](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/antlr-utils/index.html) | This library contains extensions and helpers for using ANTLR with .NET |
+| [Ubiquity.NET.CodeAnalysis.Utils](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/CodeAnalysis/index.html) | This library contains extensions and helpers for using Roslyn CodeAnalysis |
+| [Ubiquity.NET.CommandLine](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/CommandLine/index.html) | This library contains extensions and helpers for command line parsing via `System.CommandLine` |
+| [Ubiquity.NET.Extensions](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/extensions/index.html) | This library contains general extensions and helpers for many scenarios using .NET |
+| [Ubiquity.NET.InteropHelpers](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/interop-helpers/index.html) | This library contains extensions and helpers for implementing interop support for native libraries |
+| [Ubiquity.NET.Runtime.Utils](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/runtime-utils/index.html) | This library contains common support for DSL runtime and language implementers |
+| [Ubiquity.NET.SourceGenerator.Test.Utils](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/src-gen-test-utils/index.html) | This library contains extensions and helpers for testing source generators |
+| [Ubiquity.NET.SrcGeneration](https://ubiquitydotnet.github.io/Ubiquity.NET.Utils/SrcGeneration/index.html) | This library contains extensions and helpers for implementing source generators |
+
+>[!IMPORTANT]
+> When editing code in this repository make certain that any extensions or tooling that
+> automatically removes trailing whitespace is disabled. It is fine to highlight such cases
+> and most of the time remove any. However, there are some tests where a trailing whitespace
+> is required and a critical part of the tests.
diff --git a/docfx/ReadMe.md b/docfx/ReadMe.md
index 1f8a133..0e9518a 100644
--- a/docfx/ReadMe.md
+++ b/docfx/ReadMe.md
@@ -18,7 +18,7 @@ constructed a complete custom template to deal with it... Sigh, what a waste of
## Changes Over Time
DocFX has obsoleted the `docfxconsole` NuGet package that was used to run docfx for a
project via MSBUILD. Instead it focused on a .NET tool to do it all via the command line.
-Ultimately the docfx.json serves as the corellary to a "project" file for the different site
+Ultimately the docfx.json serves as the corollary to a "project" file for the different site
builds. The PowerShell script `Build-Docs.ps1` was updated to use the new tool directly.
Using that script should have little or no impact on the overall flow. There is a
"no-targets" project in the solution to enable easier access to the input files but does not
@@ -78,9 +78,9 @@ Since this is generated it is listed in the [.gitignore](#gitignore) file.
These folders (named after the `*` portion of the [api-*](#api-*) folder names contains
manually written additional files, articles, samples etc... related to a given library.
-## Guide to wrting XML DOC comments
+## Guide to writing XML DOC comments
When dealing with doc comments the XML can sometimes get in the way of general readability
-of the source code. There is an inherent tension beween how a particular editor renders the
+of the source code. There is an inherent tension between how a particular editor renders the
docs for a symbol/method (VS calls this "Quick Info") and how it is rendered in the final
documentation by a tool like docfx. This guides general use to simplify things as much as
possible.
@@ -144,7 +144,7 @@ render properly in final docs.
everything is trimmed it is at least a distinct pattern that is readable.
5) ***DO NOT*** put lists in any place other than inside a `remarks` region
a) Usually, the remarks comments are not even rendered in an editor as the most useful
- part is the API signaure and parameter info. Different editors may allow control of
+ part is the API signature and parameter info. Different editors may allow control of
that.
i) In VS [2019|2022] for C# it is controlled by
`Text Editor > C# > Advanced > Editor Help: "Show remarks in Quick Info."`
diff --git a/docfx/SrcGeneration/api/index.md b/docfx/SrcGeneration/api/index.md
index 8329489..2bc778b 100644
--- a/docfx/SrcGeneration/api/index.md
+++ b/docfx/SrcGeneration/api/index.md
@@ -1,6 +1,6 @@
# Ubiquity.NET.SrcGeneration
-This library contains support functionality to aid in building a source generator.
-This library is multi-targetting to allow consumption from a Roslyn source generator
-or VSIX project. Other uses should leverage the modern runtimes but those cases
-***MUST*** target only `.NET Standard 2.0`
+This library contains support functionality to aid in building a source generator. This
+library is multi-targeting to allow consumption from a Roslyn source generator or VSIX
+project. Other uses should leverage the modern runtimes but those cases ***MUST*** target
+only `.NET Standard 2.0`
diff --git a/docfx/SrcGeneration/index.md b/docfx/SrcGeneration/index.md
index 8329489..2bc778b 100644
--- a/docfx/SrcGeneration/index.md
+++ b/docfx/SrcGeneration/index.md
@@ -1,6 +1,6 @@
# Ubiquity.NET.SrcGeneration
-This library contains support functionality to aid in building a source generator.
-This library is multi-targetting to allow consumption from a Roslyn source generator
-or VSIX project. Other uses should leverage the modern runtimes but those cases
-***MUST*** target only `.NET Standard 2.0`
+This library contains support functionality to aid in building a source generator. This
+library is multi-targeting to allow consumption from a Roslyn source generator or VSIX
+project. Other uses should leverage the modern runtimes but those cases ***MUST*** target
+only `.NET Standard 2.0`
diff --git a/docfx/index.md b/docfx/index.md
index 646a80d..0d08d44 100644
--- a/docfx/index.md
+++ b/docfx/index.md
@@ -12,6 +12,6 @@ and versioning.
| [Ubiquity.NET.CommandLine](CommandLine/index.md) | This library contains extensions and helpers for command line parsing via `System.CommandLine` |
| [Ubiquity.NET.Extensions](extensions/index.md) | This library contains general extensions and helpers for many scenarios using .NET |
| [Ubiquity.NET.InteropHelpers](interop-helpers/index.md) | This library contains extensions and helpers for implementing interop support for native libraries |
-| [Ubiquity.NET.Runtime.Utils](runtime-utils/index.md) | This library contains common support for DSL runtime and language implementors |
+| [Ubiquity.NET.Runtime.Utils](runtime-utils/index.md) | This library contains common support for DSL runtime and language implementers |
| [Ubiquity.NET.SourceGenerator.Test.Utils](src-gen-test-utils/index.md) | This library contains extensions and helpers for testing source generators |
| [Ubiquity.NET.SrcGeneration](SrcGeneration/index.md) | This library contains extensions and helpers for implementing source generators |
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/CompilationExtensions.cs b/src/Ubiquity.NET.CodeAnalysis.Utils/CompilationExtensions.cs
index eb63122..70f7fdd 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/CompilationExtensions.cs
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/CompilationExtensions.cs
@@ -2,7 +2,7 @@
// Licensed under the Apache-2.0 WITH LLVM-exception license. See the LICENSE.md file in the project root for full license information.
// Mostly from: https://github.com/Sergio0694/PolySharp/blob/main/src/PolySharp.SourceGenerators/Extensions/CompilationExtensions.cs
-// Reformated and adapted to support repo guidelines
+// Reformatted and adapted to support repo guidelines
using Microsoft.CodeAnalysis.VisualBasic;
@@ -42,7 +42,7 @@ public static bool HasLanguageVersionAtLeastEqualTo( this Compilation compilatio
/// Gets the runtime version by extracting the version from the assembly implementing
/// Compilation to get the version information from
- /// Version of the runtime the compilation is targetting
+ /// Version of the runtime the compilation is targeting
public static RuntimeVersion GetRuntimeVersion(this Compilation self)
{
var objectType = self.GetSpecialType(SpecialType.System_Object);
@@ -50,10 +50,10 @@ public static RuntimeVersion GetRuntimeVersion(this Compilation self)
return new(runtimeAssembly.Identity.Name, runtimeAssembly.Identity.Version);
}
- /// Gets a value indicating wheter the compilation has a minium version of the runtime
+ /// Gets a value indicating whether the compilation has a minium version of the runtime
/// Compilation to test
/// Minimum version accepted
- /// if the runtime version targetted by the compilation is at least ; otherwise
+ /// if the runtime version targeted by the compilation is at least ; otherwise
public static bool HasRuntimeVersionAtLeast(this Compilation self, RuntimeVersion minVersion)
{
var runtimeVersion = GetRuntimeVersion(self);
@@ -140,7 +140,7 @@ public static bool HasAccessibleMember( this Compilation compilation, string ful
/// Name of the member to test for
/// Symbol to test if the member is accessible within
/// Symbol to use for "protected access" [default: null]
- /// if the member is accesible and
+ /// if the member is accessible and
public static bool HasAccessibleMemberWithin(
this Compilation self,
ITypeSymbol typeSymbol,
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/GlobalNamespaceImports.cs b/src/Ubiquity.NET.CodeAnalysis.Utils/GlobalNamespaceImports.cs
index ffd720f..746eb94 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/GlobalNamespaceImports.cs
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/GlobalNamespaceImports.cs
@@ -14,7 +14,7 @@ set of namespaces that is NOT consistent or controlled by the developer. THAT is
// BUG: False positive from IDE0005 - Using directive is unnecessary
// Attempts to remove/sort are at least able to figure it out and do the right thing.
-// Bug seems to be related to multi-targetting.
+// Bug seems to be related to multi-targeting.
#pragma warning disable IDE0005
global using System;
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/MemberDeclarationSyntaxExtensions.cs b/src/Ubiquity.NET.CodeAnalysis.Utils/MemberDeclarationSyntaxExtensions.cs
index 2177bf7..187612c 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/MemberDeclarationSyntaxExtensions.cs
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/MemberDeclarationSyntaxExtensions.cs
@@ -50,7 +50,7 @@ from attribute in attributeList.Attributes
return value != null;
}
- /// Determines if a declartion has an extern modifier
+ /// Determines if a declaration has an extern modifier
/// to test
/// if has the modifier or not
/// is null
@@ -61,7 +61,7 @@ public static bool IsExtern(this MemberDeclarationSyntax self)
: throw new ArgumentNullException(nameof(self));
}
- /// Determines if a declartion has a partial modifier
+ /// Determines if a declaration has a partial modifier
///
public static bool IsPartial(this MemberDeclarationSyntax self)
{
@@ -70,7 +70,7 @@ public static bool IsPartial(this MemberDeclarationSyntax self)
: throw new ArgumentNullException(nameof(self));
}
- /// Determines if a declartion has a static modifier
+ /// Determines if a declaration has a static modifier
///
public static bool IsStatic(this MemberDeclarationSyntax self)
{
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/NestedClassName.cs b/src/Ubiquity.NET.CodeAnalysis.Utils/NestedClassName.cs
index e935df8..9a1078f 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/NestedClassName.cs
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/NestedClassName.cs
@@ -15,7 +15,7 @@ public sealed class NestedClassName
/// Keyword for this declaration
/// Name of the type
/// Constraints for this type
- /// Names of any nested child types to form hiearachies
+ /// Names of any nested child types to form hierarchies
///
/// is normally one of ("class", "struct", "interface", "record [class|struct]?").
///
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/ReadMe.md b/src/Ubiquity.NET.CodeAnalysis.Utils/ReadMe.md
index d67e69b..b1afd13 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/ReadMe.md
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/ReadMe.md
@@ -1,3 +1,6 @@
# About
The Ubiquity.NET.CodeAnalysis.Utils contains support for building Roslyn analyzers, fixers,
-and source generator.
+and source generator. As such it specifically targets .NET Standard 2.0 and has no
+dependencies on anything targeting a later runtime. If an analyzer (or any Roslyn extension)
+depends on this package the dependencies for the package must be included in the extension's
+package.
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/Result.cs b/src/Ubiquity.NET.CodeAnalysis.Utils/Result.cs
index 89e9a35..90f79e7 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/Result.cs
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/Result.cs
@@ -73,8 +73,8 @@ public Result(T? value, ImmutableArray diagnostics)
/// Report all diagnostics to the provided
/// to report the diagnostics to
///
- /// This supports the deferral of reporting with a collection of cahceable . This allows
- /// for a generatr to report critical internal problems.
+ /// This supports the deferral of reporting with a collection of cacheable . This allows
+ /// for a generator to report critical internal problems.
///
public void ReportDiagnostics(SourceProductionContext ctx)
{
diff --git a/src/Ubiquity.NET.CodeAnalysis.Utils/SourceProductionContextExtensions.cs b/src/Ubiquity.NET.CodeAnalysis.Utils/SourceProductionContextExtensions.cs
index d48f942..376e50d 100644
--- a/src/Ubiquity.NET.CodeAnalysis.Utils/SourceProductionContextExtensions.cs
+++ b/src/Ubiquity.NET.CodeAnalysis.Utils/SourceProductionContextExtensions.cs
@@ -46,7 +46,7 @@ public static void ReportDiagnostic( this SourceProductionContext self, Diagnost
/// The context to report the diagnostic to
/// Location of the source of this diagnostic
/// Descriptor for the diagnostic
- /// Argumnets, if any, for the diagnostic message
+ /// Arguments, if any, for the diagnostic message
public static void ReportDiagnostic(
this SourceProductionContext self,
Location location,
@@ -61,7 +61,7 @@ params object[] messageArgs
/// The context to report the diagnostic to
/// Node as the source of the diagnostic
/// Descriptor for the diagnostic
- /// Argumnets, if any, for the diagnostic message
+ /// Arguments, if any, for the diagnostic message
public static void ReportDiagnostic(
this SourceProductionContext self,
CSharpSyntaxNode node,
diff --git a/src/Ubiquity.NET.CommandLine.UT/CommandLineTests.cs b/src/Ubiquity.NET.CommandLine.UT/CommandLineTests.cs
index 229c375..89c4aef 100644
--- a/src/Ubiquity.NET.CommandLine.UT/CommandLineTests.cs
+++ b/src/Ubiquity.NET.CommandLine.UT/CommandLineTests.cs
@@ -16,7 +16,7 @@ public void CommandLine_parse_with_version_option_only_succeeds( )
var settings = CreateTestSettings();
var result = ArgsParsing.Parse(["--version"], settings);
- Assert.HasCount( 0, result.Errors, "Version alone should not procue errors" );
+ Assert.HasCount( 0, result.Errors, "Version alone should not produce errors" );
var versionOption = result.GetVersionOption();
Assert.IsNotNull(versionOption);
diff --git a/src/Ubiquity.NET.CommandLine/PackageReadMe.md b/src/Ubiquity.NET.CommandLine/PackageReadMe.md
index 6f41b09..d41a4a1 100644
--- a/src/Ubiquity.NET.CommandLine/PackageReadMe.md
+++ b/src/Ubiquity.NET.CommandLine/PackageReadMe.md
@@ -25,7 +25,7 @@ if(!ArgsParsing.TryParse( args, reporter, out Options? options, out int
of the logging interfaces available. The primary distinction is with the ***intention*** of
use. `IDiagnosticReporter` specifically assumes the use for UI/UX rather than a
debugging/diagnostic log. These have VERY distinct use cases and purposes and generally show
-very different information. (Not to mention the overlly complex requirements of
+very different information. (Not to mention the overly complex requirements of
the anti-pattern DI container assumed in `Microsoft.Extensions.Logging`)
### Messages
@@ -37,7 +37,7 @@ There are a few pre-built implementation of the `IDiagnosticReporter` interface.
* `TextWriterReporter`
* Base class for writing UX to a `TextWriter`
* `ConsoleReporter`
- * Reporter that reports errors to `Console.Error` and all other nessages to
+ * Reporter that reports errors to `Console.Error` and all other messages to
`Console.Out`
* `ColoredConsoleReporter`
* `ConsoleReporter` that colorizes output using ANSI color codes
diff --git a/src/Ubiquity.NET.CommandLine/ParseResultExtensions.cs b/src/Ubiquity.NET.CommandLine/ParseResultExtensions.cs
index bcac742..535874f 100644
--- a/src/Ubiquity.NET.CommandLine/ParseResultExtensions.cs
+++ b/src/Ubiquity.NET.CommandLine/ParseResultExtensions.cs
@@ -5,7 +5,7 @@ namespace Ubiquity.NET.CommandLine
{
// This does NOT use the new C# 14 extension syntax due to several reasons
// 1) Code lens does not work https://github.com/dotnet/roslyn/issues/79006 [Sadly marked as "not planned" - e.g., dead-end]
- // 2) MANY analyzers get things wrong and need to be supressed (CA1000, CA1034, and many others [SAxxxx])
+ // 2) MANY analyzers get things wrong and need to be suppressed (CA1000, CA1034, and many others [SAxxxx])
// 3) Many tools (like docfx don't support the new syntax yet)
// 4) No clear support for Caller* attributes ([CallerArgumentExpression(...)]).
//
diff --git a/src/Ubiquity.NET.Extensions.UT/AssemblyInfo.cs b/src/Ubiquity.NET.Extensions.UT/AssemblyInfo.cs
index a4d0b13..78a3dde 100644
--- a/src/Ubiquity.NET.Extensions.UT/AssemblyInfo.cs
+++ b/src/Ubiquity.NET.Extensions.UT/AssemblyInfo.cs
@@ -4,7 +4,7 @@
// In SDK-style projects such as this one, several assembly attributes that were historically
// defined in this file are now automatically added during build and populated with
// values defined in project properties. For details of which attributes are included
-// and how to customise this process see: https://aka.ms/assembly-info-properties
+// and how to customize this process see: https://aka.ms/assembly-info-properties
// Setting ComVisible to false makes the types in this assembly not visible to COM
// components. If you need to access a type in this assembly from COM, set the ComVisible
@@ -21,7 +21,7 @@
// see: https://github.com/microsoft/testfx/issues/5555#issuecomment-3448956323
[assembly: Parallelize( Scope = ExecutionScope.ClassLevel )]
-// can't use this at assembly level as it isn't supported there for downlevel... [Sigh...]
+// can't use this at assembly level as it isn't supported there for down-level... [Sigh...]
//[assembly: ExcludeFromCodeCoverage]
// NOTE: use of this and `internal` test classes results in a flurry of
diff --git a/src/Ubiquity.NET.Extensions.UT/GlobalNamespaceImports.cs b/src/Ubiquity.NET.Extensions.UT/GlobalNamespaceImports.cs
index d21b98d..a17f5f6 100644
--- a/src/Ubiquity.NET.Extensions.UT/GlobalNamespaceImports.cs
+++ b/src/Ubiquity.NET.Extensions.UT/GlobalNamespaceImports.cs
@@ -14,7 +14,7 @@ set of namespaces that is NOT consistent or controlled by the developer. THAT is
// BUG: False positive from IDE0005 - Using directive is unnecessary
// Attempts to remove/sort are at least able to figure it out and do the right thing.
-// Bug seems to be related to multi-targetting.
+// Bug seems to be related to multi-targeting.
#pragma warning disable IDE0005
global using System;
diff --git a/src/Ubiquity.NET.Extensions.UT/PolyFillOperatingSystemTests.cs b/src/Ubiquity.NET.Extensions.UT/PolyFillOperatingSystemTests.cs
index 0d293c4..11f81a3 100644
--- a/src/Ubiquity.NET.Extensions.UT/PolyFillOperatingSystemTests.cs
+++ b/src/Ubiquity.NET.Extensions.UT/PolyFillOperatingSystemTests.cs
@@ -10,7 +10,7 @@ public sealed class PolyFillOperatingSystemTests
public void IsWindows_reports_correct_value( )
{
#if NET5_0_OR_GREATER
- Assert.Inconclusive("Test not applicable if targetting runtime >= 5");
+ Assert.Inconclusive("Test not applicable if targeting runtime >= 5");
#else
bool isWindows = Environment.OSVersion.Platform switch
{
diff --git a/src/Ubiquity.NET.Extensions.UT/PolyFillStringExtensionsTests.cs b/src/Ubiquity.NET.Extensions.UT/PolyFillStringExtensionsTests.cs
index 9d9d4e5..babbe43 100644
--- a/src/Ubiquity.NET.Extensions.UT/PolyFillStringExtensionsTests.cs
+++ b/src/Ubiquity.NET.Extensions.UT/PolyFillStringExtensionsTests.cs
@@ -32,7 +32,7 @@ public void Methods_throw_on_invalid_input( )
#endif
// Technically this tests both poly filled and official implementations, but validates the
- // assumptions that exist betweeen them. If both pass then the poly fill is replicating the
+ // assumptions that exist between them. If both pass then the poly fill is replicating the
// tested behavior of the official runtime implementation. (If, perhaps, less performant...)
[TestMethod]
diff --git a/src/Ubiquity.NET.Extensions.UT/StringNormalizerTests.cs b/src/Ubiquity.NET.Extensions.UT/StringNormalizerTests.cs
index 6ef3f3f..5de3e60 100644
--- a/src/Ubiquity.NET.Extensions.UT/StringNormalizerTests.cs
+++ b/src/Ubiquity.NET.Extensions.UT/StringNormalizerTests.cs
@@ -8,8 +8,8 @@ namespace Ubiquity.NET.Extensions.UT
//
// Example:
// Assert.AreEqual failed. Expected string length 51 but was 52. 'expected' expression: 'expectedOutput', 'actual' expression: 'systemNormalizedInput'.
- // Expected: "This is a line␊This is anotherline␊And..."
- // But was: "This is a line␍␊This is anotherline␍An..."
+ // Expected: "This is a line␊This is another line␊And..."
+ // But was: "This is a line␍␊This is another line␍An..."
// -------------------------^
// NOTE: In C# the string "line1\nLine2" has exactly what was put in the string
@@ -21,7 +21,7 @@ namespace Ubiquity.NET.Extensions.UT
// Recommendation R4 and Table 5-2 (CR, LF, CRLF, NEL, LS, FF, PS). Explicitly excluded
// is VT. Thus, that will normalize ANY newline sequence to the form expected by the
// environment.
- // Unfortunately, ReplaceLineEndings() is NOT available in downlevel runtimes...
+ // Unfortunately, ReplaceLineEndings() is NOT available in down-level runtimes...
[TestClass]
[ExcludeFromCodeCoverage]
@@ -36,7 +36,7 @@ public void System_line_ending_detected_correctly( )
[TestMethod]
public void Normalize_with_default_endings_does_nothing( )
{
- string testInput = "This is a line" + Environment.NewLine + "And so is this"; // Platform sepecific
+ string testInput = "This is a line" + Environment.NewLine + "And so is this"; // Platform specific
string normalizedOutput = testInput.NormalizeLineEndings(StringNormalizer.SystemLineEndings);
Assert.AreSame(testInput, normalizedOutput, "Should return same instance (zero copy)");
}
@@ -44,10 +44,10 @@ public void Normalize_with_default_endings_does_nothing( )
[TestMethod]
public void Normalize_with_alternate_endings_produces_new_string( )
{
- string testInput = "This is a line"+ Environment.NewLine + "And so is this"; // Platform sepecific
+ string testInput = "This is a line"+ Environment.NewLine + "And so is this"; // Platform specific
const string expectedOutput = "This is a line\rAnd so is this";
- // CR Only is not the default for any currently supported runtinme for .NET so this
+ // CR Only is not the default for any currently supported runtime for .NET so this
// remains a platform neutral test - verify that assumption!
// See also: System_line_ending_detected_correctly()
Assert.AreNotEqual(LineEndingKind.CarriageReturn, StringNormalizer.SystemLineEndings, "TEST ERROR: CR is default line ending for this runtime!");
@@ -59,13 +59,13 @@ public void Normalize_with_alternate_endings_produces_new_string( )
[TestMethod]
public void Normalize_with_mixed_input_succeeds()
{
- const string mixedInput = "This is a line\r\nThis is anotherline\rAnd aonther line";
- string expectedOutput = "This is a line"+ Environment.NewLine + "This is anotherline"+ Environment.NewLine + "And aonther line"; // Platform sepecific
+ const string mixedInput = "This is a line\r\nThis is another line\rAnd another line";
+ string expectedOutput = "This is a line"+ Environment.NewLine + "This is another line"+ Environment.NewLine + "And another line"; // Platform specific
string systemNormalizedInput = mixedInput.NormalizeLineEndings(LineEndingKind.MixedOrUnknownEndings, StringNormalizer.SystemLineEndings);
Assert.AreEqual(expectedOutput, systemNormalizedInput);
}
- // Technincally Mac OS prior to OS X (Lion) use CR, but .NET does not
+ // Technically, Mac OS prior to OS X (Lion) use CR, but .NET does not
// support those older versions. Thus, this only treats Windows as the
// "odd man out", everything else uses LF.
#if NET5_0_OR_GREATER
diff --git a/src/Ubiquity.NET.Extensions/AssemblyExtensions.cs b/src/Ubiquity.NET.Extensions/AssemblyExtensions.cs
index 14edd21..2526118 100644
--- a/src/Ubiquity.NET.Extensions/AssemblyExtensions.cs
+++ b/src/Ubiquity.NET.Extensions/AssemblyExtensions.cs
@@ -17,7 +17,7 @@ public static class AssemblyExtensions
extension(Assembly self)
{
/// Gets the informational version from an assembly
- /// Expresssion for the assembly to retrieve the attribute data from; normally provided by compiler
+ /// Expression for the assembly to retrieve the attribute data from; normally provided by compiler
/// String contents from the in the assembly or
[SuppressMessage( "Performance", "CA1822:Mark members as static", Justification = "Instance extension" )]
public string GetInformationalVersion( [CallerArgumentExpression( nameof( self ) )] string? exp = null )
@@ -34,7 +34,7 @@ public string GetInformationalVersion( [CallerArgumentExpression( nameof( self )
#else
/// Gets the informational version from an assembly
/// Assembly to extract the version from
- /// Expresssion for the assembly to retrieve the attribute data from; normally provided by compiler
+ /// Expression for the assembly to retrieve the attribute data from; normally provided by compiler
/// String contents from the in the assembly or
public static string GetInformationalVersion(this Assembly self, [CallerArgumentExpression( nameof( self ) )] string? exp = null )
{
diff --git a/src/Ubiquity.NET.Extensions/FluentValidation/ExceptionValidationExtensions.cs b/src/Ubiquity.NET.Extensions/FluentValidation/ExceptionValidationExtensions.cs
index 27e509c..a9f6116 100644
--- a/src/Ubiquity.NET.Extensions/FluentValidation/ExceptionValidationExtensions.cs
+++ b/src/Ubiquity.NET.Extensions/FluentValidation/ExceptionValidationExtensions.cs
@@ -5,7 +5,7 @@ namespace Ubiquity.NET.Extensions.FluentValidation
{
// This does NOT use the new C# 14 extension syntax due to several reasons
// 1) Code lens does not work https://github.com/dotnet/roslyn/issues/79006 [Sadly, marked as "not planned" - e.g., dead-end]
- // 2) MANY analyzers get things wrong and need to be supressed (CA1000, CA1034, and many others [SAxxxx])
+ // 2) MANY analyzers get things wrong and need to be suppressed (CA1000, CA1034, and many others [SAxxxx])
// 3) Many external tools don't support the new syntax yet and it isn't clear if they will in the future.
// 4) No clear support for Caller* attributes ([CallerArgumentExpression(...)]).
//
@@ -23,13 +23,13 @@ namespace Ubiquity.NET.Extensions.FluentValidation
/// use mostly a moot point.
///
/// In .NET Standard 2.0 builds this can create ambiguities with the static extensions
- /// in `PolyFillExceptionValidators`. This is becuase they are "Poly Filled"
+ /// in `PolyFillExceptionValidators`. This is because they are "Poly Filled"
/// in downstream versions and the resolution rules for extensions in the C# language.
/// Instance methods are resolved before the static extensions and therefore the extensions
/// here are resolved even if there is a direct static extensions. This seems broken, but
- /// is how the language is resolving things. Therefore carefull use of namespace usings
+ /// is how the language is resolving things. Therefore careful use of namespace usings
/// and global usings as well as explicit use of this type is needed to resolve this. It
- /// is NOT recommended to use explict references to the static method in `PolyFillExceptionValidators`
+ /// is NOT recommended to use explicit references to the static method in `PolyFillExceptionValidators`
/// as the methods don't exist if the BCL type contains the method already in a given
/// runtime. Thus, in compilation units, needing both namespaces only this one is
/// explicitly referenced.
@@ -103,7 +103,7 @@ public static T ThrowIfNotDefined( this T self, [CallerArgumentExpression( na
}
catch(Exception ex) when(ex is InvalidCastException or FormatException or OverflowException)
{
- // InvalidEnumArgumentException constructors ONLY provide paramater name value set for values
+ // InvalidEnumArgumentException constructors ONLY provide parameter name value set for values
// that are representable as an int. Thus, anything else requires a custom message that at
// least includes the original value in question. (Normally an enum does fit an int, but for
// interop might not) the resulting exception will have "ParamName" as the default of "null"!
diff --git a/src/Ubiquity.NET.Extensions/FluentValidation/ReadMe.md b/src/Ubiquity.NET.Extensions/FluentValidation/ReadMe.md
index da20067..1f6ae76 100644
--- a/src/Ubiquity.NET.Extensions/FluentValidation/ReadMe.md
+++ b/src/Ubiquity.NET.Extensions/FluentValidation/ReadMe.md
@@ -1,11 +1,11 @@
# About
This folder contains fluent validation extensions. It is a distinct namespace to aid in
-diasambiguation when using downlevel polyfills for static validation extensions. When both
+disambiguation when using down-level polyfills for static validation extensions. When both
instance extensions and static extensions are available with the same name there is an
ambiguity and the compiler resolves to the instance extension. Thus,
`.` is resolved as
`.` when both are available. Thus, when supporting
-downlevel runtimes (like for a Roslyn Source generator/analyzer/fixer or VSIX extension)
+down-level runtimes (like for a Roslyn Source generator/analyzer/fixer or VSIX extension)
then both namespaces are not implicitly "used". Instead only one is. If both namespaces are
needed in a compilation unit, then the poly fill is "used" and the fluent form is explicitly
referenced. Thus, there is no implicit ambiguity/confusion.
diff --git a/src/Ubiquity.NET.Extensions/GlobalNamespaceImports.cs b/src/Ubiquity.NET.Extensions/GlobalNamespaceImports.cs
index 8137e32..8a99f8e 100644
--- a/src/Ubiquity.NET.Extensions/GlobalNamespaceImports.cs
+++ b/src/Ubiquity.NET.Extensions/GlobalNamespaceImports.cs
@@ -14,7 +14,7 @@ set of namespaces that is NOT consistent or controlled by the developer. THAT is
// BUG: False positive from IDE0005 - Using directive is unnecessary
// Attempts to remove/sort are at least able to figure it out and do the right thing.
-// Bug seems to be related to multi-targetting.
+// Bug seems to be related to multi-targeting.
#pragma warning disable IDE0005
global using System;
diff --git a/src/Ubiquity.NET.Extensions/Properties/ResourceNotFoundException.cs b/src/Ubiquity.NET.Extensions/Properties/ResourceNotFoundException.cs
index 2fe41e3..b2e394f 100644
--- a/src/Ubiquity.NET.Extensions/Properties/ResourceNotFoundException.cs
+++ b/src/Ubiquity.NET.Extensions/Properties/ResourceNotFoundException.cs
@@ -3,7 +3,7 @@
namespace Ubiquity.NET.Extensions.Properties
{
- /// Exception thornw if a resource is missing
+ /// Exception thrown if a resource is missing
///
/// This is ALWAYS a bug in the application and should not be caught or suppressed in any way.
/// It indicates that a named resource does not exist, either add the resource or correct the
diff --git a/src/Ubiquity.NET.Extensions/Readme.md b/src/Ubiquity.NET.Extensions/Readme.md
index 85e55ee..b9b003b 100644
--- a/src/Ubiquity.NET.Extensions/Readme.md
+++ b/src/Ubiquity.NET.Extensions/Readme.md
@@ -36,19 +36,10 @@ normally used when the value itself isn't passed on but some transformed value i
|Method | Description |
|-------|-------------|
-|`ThrowIfNull()`| Thows an exception if the argument is null or returns it as-is |
-|`ThrowIfOutOfRange()` | Thorws an exception if a value is out of the specified range |
+|`ThrowIfNull()`| Throws an exception if the argument is null or returns it as-is |
+|`ThrowIfOutOfRange()` | Throws an exception if a value is out of the specified range |
|`ThrowIfNotDefined()` | Throws an exception if an enum value is undefined |
-## Why not PolyFill?
-While it isn't impossible to make polyfill for this to work on .NET standard 2.0 it
-***is*** a HUGE amount of effort to do so and there's no compelling reason to do so. Roslyn
-extensions/VSIX extensions are the most likely candidates left. VS extensions are shifting
-to external processes for extensions for this reason, leaving Roslyn generators. The bottom
-line is that too much of MODERN .NET and C# is incompatible with .NET Standard 2.0 that a
-distinct PolyFill library can only cover some of it. (Even the PolySharp generator covers
-only some of the missing functionality)
-
## Runtime Dependencies
None
diff --git a/src/Ubiquity.NET.Extensions/StringSplitOptions2.cs b/src/Ubiquity.NET.Extensions/StringSplitOptions2.cs
index db06a21..f3cad46 100644
--- a/src/Ubiquity.NET.Extensions/StringSplitOptions2.cs
+++ b/src/Ubiquity.NET.Extensions/StringSplitOptions2.cs
@@ -14,28 +14,28 @@ public enum StringSplitOptions2
/// Omit array elements that contain an empty string from the result.
///
/// If and are specified together,
- /// then substrings that consist only of white-space characters are also removed from the result.
+ /// then sub-strings that consist only of white-space characters are also removed from the result.
///
RemoveEmptyEntries = StringSplitOptions.RemoveEmptyEntries,
#if NET5_0_OR_GREATER
- /// Trim white-space characters from each substring in the result.
+ /// Trim white-space characters from each sub-string in the result.
///
/// If and are specified together,
- /// then substrings that consist only of white-space characters are also removed from the result.
+ /// then sub-strings that consist only of white-space characters are also removed from the result.
///
TrimEntries = StringSplitOptions.TrimEntries
#else
- /// Trim white-space characters from each substring in the result.
+ /// Trim white-space characters from each sub-string in the result.
///
///
/// The official value of this field is available in .NET 5 and later versions only. Unless a method
- /// using is explicitily re-written to support ,
+ /// using is explicitly re-written to support ,
/// then the functionality for this is not available.
///
///
/// If and are specified together,
- /// then substrings that consist only of white-space characters are also removed from the result.
+ /// then sub-strings that consist only of white-space characters are also removed from the result.
///
///
TrimEntries = 2,
diff --git a/src/Ubiquity.NET.InteropHelpers/NativeContext.cs b/src/Ubiquity.NET.InteropHelpers/NativeContext.cs
index 3a42e6a..140da36 100644
--- a/src/Ubiquity.NET.InteropHelpers/NativeContext.cs
+++ b/src/Ubiquity.NET.InteropHelpers/NativeContext.cs
@@ -5,7 +5,7 @@ namespace Ubiquity.NET.InteropHelpers
{
// This does NOT use the new C# 14 extension syntax due to several reasons
// 1) Code lens does not work https://github.com/dotnet/roslyn/issues/79006 [Sadly marked as "not planned" - e.g., dead-end]
- // 2) MANY analyzers get things wrong and need to be supressed (CA1000, CA1034, and many others [SAxxxx])
+ // 2) MANY analyzers get things wrong and need to be suppressed (CA1000, CA1034, and many others [SAxxxx])
// 3) Many tools (like docfx don't support the new syntax yet)
// 4) No clear support for Caller* attributes ([CallerArgumentExpression(...)]).
//
@@ -66,7 +66,7 @@ public static class NativeContext
/// Type of the managed object to materialize
/// Native context
/// Materialized value or if not
- /// if the value is succesfully materialized and if not
+ /// if the value is successfully materialized and if not
[MustUseReturnValue]
public static unsafe bool TryFrom(void* ctx, [MaybeNullWhen(false)] out T value)
{
diff --git a/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillExceptionValidators.cs b/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillExceptionValidators.cs
index b30333a..9da4489 100644
--- a/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillExceptionValidators.cs
+++ b/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillExceptionValidators.cs
@@ -32,7 +32,7 @@ file enum ResourceId
// Sadly, these are NOT localized messages as the official forms are.
// There is no way, at least no-known way (easy or not) to inject resources
- // that would participate in loclization. (If the consumer even does that...)
+ // that would participate in localization. (If the consumer even does that...)
// The actual strings used are the same as the values in the official runtime
// support so are at least compatible for "en-us". This fakes it to make it
// more readable AND make it easier to shift if a means of injecting resources
@@ -69,10 +69,10 @@ internal static string GetResourceString(this ResourceId id)
///
internal static class PolyFillExceptionValidators
{
- /// Throw an if a string is m empty, or all whitepsace.
+ /// Throw an if a string is m empty, or all whitespace.
/// input string to test
/// expression or name of the string to test; normally provided by compiler
- /// string is m empty, or all whitepsace
+ /// string is m empty, or all whitespace
public static void ThrowIfNullOrWhiteSpace(
[global::System.Diagnostics.CodeAnalysis.NotNullAttribute] string? argument,
[global::System.Runtime.CompilerServices.CallerArgumentExpressionAttribute( nameof( argument ) )] string? paramName = null
@@ -88,7 +88,7 @@ public static void ThrowIfNullOrWhiteSpace(
}
}
- /// Throws an aexception if the tested argument is
+ /// Throws an exception if the tested argument is
/// value to test
/// expression for the name of the value; normally provided by compiler
/// is
@@ -171,7 +171,7 @@ public static void ThrowIfGreaterThanOrEqual( T value, T other, [global::Syst
}
/// Throws an if is less than .
- /// The argument to validate as greatar than or equal than .
+ /// The argument to validate as greater than or equal than .
/// The value to compare with .
/// The name of the parameter with which corresponds.
public static void ThrowIfLessThan( T value, T other, [global::System.Runtime.CompilerServices.CallerArgumentExpressionAttribute( nameof( value ) )] string? paramName = null )
@@ -184,7 +184,7 @@ public static void ThrowIfLessThan( T value, T other, [global::System.Runtime
}
/// Throws an if is less than or equal .
- /// The argument to validate as greatar than than .
+ /// The argument to validate as greater than .
/// The value to compare with .
/// The name of the parameter with which corresponds.
public static void ThrowIfLessThanOrEqual( T value, T other, [global::System.Runtime.CompilerServices.CallerArgumentExpressionAttribute( nameof( value ) )] string? paramName = null )
diff --git a/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillMemoryMarshal.cs b/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillMemoryMarshal.cs
index 99d0914..843fe1e 100644
--- a/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillMemoryMarshal.cs
+++ b/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillMemoryMarshal.cs
@@ -9,7 +9,7 @@
namespace System.Runtime.InteropServices
{
- /// Extensions for to allow downlevel compatibility
+ /// Extensions for to allow down-level compatibility
internal static class PolyFillMemoryMarshal
{
#if !NET6_0_OR_GREATER
@@ -28,7 +28,7 @@ internal static class PolyFillMemoryMarshal
private static unsafe int StrLen(byte* p)
{
- // Crude but functional - definately NOT perf optimized.
+ // Crude but functional - definitely NOT perf optimized.
int indexOfTerminator = 0;
for(; *p != 0; ++p, ++indexOfTerminator)
{
diff --git a/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillStringExtensions.cs b/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillStringExtensions.cs
index 56157df..97301eb 100644
--- a/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillStringExtensions.cs
+++ b/src/Ubiquity.NET.PollyFill.SharedSources/PolyFillStringExtensions.cs
@@ -13,7 +13,7 @@
namespace System
{
- /// Pollyfill extensions for support not present in older runtimes
+ /// Polyfill extensions for support not present in older runtimes
///
internal static class PolyFillStringExtensions
{
@@ -53,7 +53,7 @@ public static string ReplaceLineEndings( this string self )
return ReplaceLineEndings( self, global::System.Environment.NewLine );
}
- // This is NOT the most performant implementation, it's going for simplistic pollyfill that has
+ // This is NOT the most performant implementation, it's going for simplistic polyfill that has
// the correct behavior, even if not the most performant. If performance is critical, use a
// later version of the runtime!
@@ -82,7 +82,7 @@ public static string ReplaceLineEndings( this string self, string replacementTex
// language=regex
private const string UnicodeNewLinesRegExPattern = @"(\r\n|\r|\n|\f|\u0085|\u2028|\u2029)";
- // NOTE: can't use source generated RegEx here as there's no way to declare the depency on
+ // NOTE: can't use source generated RegEx here as there's no way to declare the dependency on
// the output of one generator as the input for another. They all see the same input, therefore
// the partial implementation would never be filled in and produces a compilation error instead.
private static global::System.Text.RegularExpressions.Regex UnicodeNewLinesRegEx { get; }
diff --git a/src/Ubiquity.NET.PollyFill.SharedSources/ReadMe.md b/src/Ubiquity.NET.PollyFill.SharedSources/ReadMe.md
index 4a61b7c..734dbb3 100644
--- a/src/Ubiquity.NET.PollyFill.SharedSources/ReadMe.md
+++ b/src/Ubiquity.NET.PollyFill.SharedSources/ReadMe.md
@@ -2,10 +2,10 @@
This library contains extensions that are shared amongst multiple additional projects in
this repository. This, currently takes the place of a source generator that would inject
these types. The problem with a Roslyn source generator for this is that the "generated"
-sources have a dependency on types that are poly filled by a diffent source generator.
+sources have a dependency on types that are poly filled by a different source generator.
([PolySharp](https://github.com/Sergio0694/PolySharp) for this repo).
Source generators all see the same input and therefore a source generator is untestable
-without solving the problem of explicilty generating the sources for the poly filled types.
+without solving the problem of explicitly generating the sources for the poly filled types.
That is, to test the generator one must include another generator as part of the setup for
testing. That's something currently unknown and instead of investigating it the problem was
set aside to move other things forward.
diff --git a/src/Ubiquity.NET.SourceGenerator.Test.Utils/EnumerableObjectComparer.cs b/src/Ubiquity.NET.SourceGenerator.Test.Utils/EnumerableObjectComparer.cs
index e0fe6aa..7f0cc52 100644
--- a/src/Ubiquity.NET.SourceGenerator.Test.Utils/EnumerableObjectComparer.cs
+++ b/src/Ubiquity.NET.SourceGenerator.Test.Utils/EnumerableObjectComparer.cs
@@ -14,7 +14,7 @@ public class EnumerableObjectComparer
: IEqualityComparer>
{
///
- [SuppressMessage( "StyleCop.CSharp.NamingRules", "SA1305:Field names should not use Hungarian notation", Justification = "xValues and yValues are not hungarioan names" )]
+ [SuppressMessage( "StyleCop.CSharp.NamingRules", "SA1305:Field names should not use Hungarian notation", Justification = "xValues and yValues are not Hungarian names" )]
public bool Equals(IEnumerable