From adbbe46aee630f95c7d828d8a316f6670e7c2c9e Mon Sep 17 00:00:00 2001 From: Max Katz Date: Mon, 27 Feb 2023 23:27:49 -0500 Subject: [PATCH] Reorganize generators code --- .../Avalonia.Generators.csproj | 3 +- .../{ => Common}/Domain/ICodeGenerator.cs | 4 +-- .../{ => Common}/Domain/IGlobPattern.cs | 4 +-- .../{ => Common}/Domain/INameResolver.cs | 12 ++++++-- .../{ => Common}/Domain/IViewResolver.cs | 4 +-- .../{Generator => Common}/GlobPattern.cs | 6 ++-- .../{Generator => Common}/GlobPatternGroup.cs | 6 ++-- .../ResolverExtensions.cs | 4 +-- .../XamlXNameResolver.cs | 10 +++---- .../XamlXViewResolver.cs | 5 ++-- .../Domain/IsExternalInit.cs | 4 --- .../GeneratorContextExtensions.cs | 6 ++-- .../Avalonia.Generators/GeneratorOptions.cs | 28 ++++--------------- .../AvaloniaNameGenerator.cs | 6 ++-- .../AvaloniaNameSourceGenerator.cs} | 15 +++++----- .../INameGenerator.cs | 4 +-- .../InitializeComponentCodeGenerator.cs | 8 ++---- .../OnlyPropertiesCodeGenerator.cs | 6 ++-- .../NameGenerator/Options.cs | 21 ++++++++++++++ .../GlobPatternTests.cs | 4 +-- .../InitializeComponentTests.cs | 5 ++-- .../OnlyProperties/OnlyPropertiesTests.cs | 5 ++-- .../XamlXClassResolverTests.cs | 4 +-- .../XamlXNameResolverTests.cs | 6 ++-- 24 files changed, 93 insertions(+), 87 deletions(-) rename src/tools/Avalonia.Generators/{ => Common}/Domain/ICodeGenerator.cs (81%) rename src/tools/Avalonia.Generators/{ => Common}/Domain/IGlobPattern.cs (58%) rename src/tools/Avalonia.Generators/{ => Common}/Domain/INameResolver.cs (56%) rename src/tools/Avalonia.Generators/{ => Common}/Domain/IViewResolver.cs (68%) rename src/tools/Avalonia.Generators/{Generator => Common}/GlobPattern.cs (85%) rename src/tools/Avalonia.Generators/{Generator => Common}/GlobPatternGroup.cs (83%) rename src/tools/Avalonia.Generators/{Generator => Common}/ResolverExtensions.cs (95%) rename src/tools/Avalonia.Generators/{Generator => Common}/XamlXNameResolver.cs (92%) rename src/tools/Avalonia.Generators/{Generator => Common}/XamlXViewResolver.cs (96%) delete mode 100644 src/tools/Avalonia.Generators/Domain/IsExternalInit.cs rename src/tools/Avalonia.Generators/{Generator => NameGenerator}/AvaloniaNameGenerator.cs (96%) rename src/tools/Avalonia.Generators/{Generator.cs => NameGenerator/AvaloniaNameSourceGenerator.cs} (80%) rename src/tools/Avalonia.Generators/{Domain => NameGenerator}/INameGenerator.cs (84%) rename src/tools/Avalonia.Generators/{Generator => NameGenerator}/InitializeComponentCodeGenerator.cs (96%) rename src/tools/Avalonia.Generators/{Generator => NameGenerator}/OnlyPropertiesCodeGenerator.cs (89%) create mode 100644 src/tools/Avalonia.Generators/NameGenerator/Options.cs diff --git a/src/tools/Avalonia.Generators/Avalonia.Generators.csproj b/src/tools/Avalonia.Generators/Avalonia.Generators.csproj index b47e4de98b..cf8f5ab798 100644 --- a/src/tools/Avalonia.Generators/Avalonia.Generators.csproj +++ b/src/tools/Avalonia.Generators/Avalonia.Generators.csproj @@ -13,8 +13,9 @@ - + + diff --git a/src/tools/Avalonia.Generators/Domain/ICodeGenerator.cs b/src/tools/Avalonia.Generators/Common/Domain/ICodeGenerator.cs similarity index 81% rename from src/tools/Avalonia.Generators/Domain/ICodeGenerator.cs rename to src/tools/Avalonia.Generators/Common/Domain/ICodeGenerator.cs index 3d965356fc..4b426172f8 100644 --- a/src/tools/Avalonia.Generators/Domain/ICodeGenerator.cs +++ b/src/tools/Avalonia.Generators/Common/Domain/ICodeGenerator.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using XamlX.TypeSystem; -namespace Avalonia.Generators.Domain; +namespace Avalonia.Generators.Common.Domain; internal interface ICodeGenerator { string GenerateCode(string className, string nameSpace, IXamlType xamlType, IEnumerable names); -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Domain/IGlobPattern.cs b/src/tools/Avalonia.Generators/Common/Domain/IGlobPattern.cs similarity index 58% rename from src/tools/Avalonia.Generators/Domain/IGlobPattern.cs rename to src/tools/Avalonia.Generators/Common/Domain/IGlobPattern.cs index ceacea0882..04dbf9cbb9 100644 --- a/src/tools/Avalonia.Generators/Domain/IGlobPattern.cs +++ b/src/tools/Avalonia.Generators/Common/Domain/IGlobPattern.cs @@ -1,6 +1,6 @@ -namespace Avalonia.Generators.Domain; +namespace Avalonia.Generators.Common.Domain; internal interface IGlobPattern { bool Matches(string str); -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Domain/INameResolver.cs b/src/tools/Avalonia.Generators/Common/Domain/INameResolver.cs similarity index 56% rename from src/tools/Avalonia.Generators/Domain/INameResolver.cs rename to src/tools/Avalonia.Generators/Common/Domain/INameResolver.cs index 1c29fa14ff..cb5488d8a3 100644 --- a/src/tools/Avalonia.Generators/Domain/INameResolver.cs +++ b/src/tools/Avalonia.Generators/Common/Domain/INameResolver.cs @@ -1,11 +1,19 @@ using System.Collections.Generic; using XamlX.Ast; -namespace Avalonia.Generators.Domain; +namespace Avalonia.Generators.Common.Domain; + +internal enum NamedFieldModifier +{ + Public = 0, + Private = 1, + Internal = 2, + Protected = 3, +} internal interface INameResolver { IReadOnlyList ResolveNames(XamlDocument xaml); } -internal record ResolvedName(string TypeName, string Name, string FieldModifier); \ No newline at end of file +internal record ResolvedName(string TypeName, string Name, string FieldModifier); diff --git a/src/tools/Avalonia.Generators/Domain/IViewResolver.cs b/src/tools/Avalonia.Generators/Common/Domain/IViewResolver.cs similarity index 68% rename from src/tools/Avalonia.Generators/Domain/IViewResolver.cs rename to src/tools/Avalonia.Generators/Common/Domain/IViewResolver.cs index 30d7883d05..c3c219e3f0 100644 --- a/src/tools/Avalonia.Generators/Domain/IViewResolver.cs +++ b/src/tools/Avalonia.Generators/Common/Domain/IViewResolver.cs @@ -1,11 +1,11 @@ using XamlX.Ast; using XamlX.TypeSystem; -namespace Avalonia.Generators.Domain; +namespace Avalonia.Generators.Common.Domain; internal interface IViewResolver { ResolvedView ResolveView(string xaml); } -internal record ResolvedView(string ClassName, IXamlType XamlType, string Namespace, XamlDocument Xaml); \ No newline at end of file +internal record ResolvedView(string ClassName, IXamlType XamlType, string Namespace, XamlDocument Xaml); diff --git a/src/tools/Avalonia.Generators/Generator/GlobPattern.cs b/src/tools/Avalonia.Generators/Common/GlobPattern.cs similarity index 85% rename from src/tools/Avalonia.Generators/Generator/GlobPattern.cs rename to src/tools/Avalonia.Generators/Common/GlobPattern.cs index 93c91869de..484e17d787 100644 --- a/src/tools/Avalonia.Generators/Generator/GlobPattern.cs +++ b/src/tools/Avalonia.Generators/Common/GlobPattern.cs @@ -1,7 +1,7 @@ using System.Text.RegularExpressions; -using Avalonia.Generators.Domain; +using Avalonia.Generators.Common.Domain; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.Common; internal class GlobPattern : IGlobPattern { @@ -15,4 +15,4 @@ internal class GlobPattern : IGlobPattern } public bool Matches(string str) => _regex.IsMatch(str); -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator/GlobPatternGroup.cs b/src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs similarity index 83% rename from src/tools/Avalonia.Generators/Generator/GlobPatternGroup.cs rename to src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs index 6ad566d5e8..1358ee7920 100644 --- a/src/tools/Avalonia.Generators/Generator/GlobPatternGroup.cs +++ b/src/tools/Avalonia.Generators/Common/GlobPatternGroup.cs @@ -1,8 +1,8 @@ using System.Collections.Generic; using System.Linq; -using Avalonia.Generators.Domain; +using Avalonia.Generators.Common.Domain; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.Common; internal class GlobPatternGroup : IGlobPattern { @@ -14,4 +14,4 @@ internal class GlobPatternGroup : IGlobPattern .ToArray(); public bool Matches(string str) => _patterns.Any(pattern => pattern.Matches(str)); -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator/ResolverExtensions.cs b/src/tools/Avalonia.Generators/Common/ResolverExtensions.cs similarity index 95% rename from src/tools/Avalonia.Generators/Generator/ResolverExtensions.cs rename to src/tools/Avalonia.Generators/Common/ResolverExtensions.cs index 60c5153474..04352298c8 100644 --- a/src/tools/Avalonia.Generators/Generator/ResolverExtensions.cs +++ b/src/tools/Avalonia.Generators/Common/ResolverExtensions.cs @@ -1,7 +1,7 @@ using System.Linq; using XamlX.TypeSystem; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.Common; internal static class ResolverExtensions { @@ -22,4 +22,4 @@ internal static class ResolverExtensions clrType.Interfaces.Any(abstraction => abstraction.IsInterface && abstraction.FullName == "Avalonia.IStyledElement"); -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator/XamlXNameResolver.cs b/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs similarity index 92% rename from src/tools/Avalonia.Generators/Generator/XamlXNameResolver.cs rename to src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs index 23e24c1b6a..7ed19eb84c 100644 --- a/src/tools/Avalonia.Generators/Generator/XamlXNameResolver.cs +++ b/src/tools/Avalonia.Generators/Common/XamlXNameResolver.cs @@ -1,20 +1,20 @@ using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; -using Avalonia.Generators.Domain; +using Avalonia.Generators.Common.Domain; using XamlX; using XamlX.Ast; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.Common; internal class XamlXNameResolver : INameResolver, IXamlAstVisitor { private readonly List _items = new(); private readonly string _defaultFieldModifier; - public XamlXNameResolver(DefaultFieldModifier defaultFieldModifier = DefaultFieldModifier.Internal) + public XamlXNameResolver(NamedFieldModifier namedFieldModifier = NamedFieldModifier.Internal) { - _defaultFieldModifier = defaultFieldModifier.ToString().ToLowerInvariant(); + _defaultFieldModifier = namedFieldModifier.ToString().ToLowerInvariant(); } public IReadOnlyList ResolveNames(XamlDocument xaml) @@ -89,4 +89,4 @@ internal class XamlXNameResolver : INameResolver, IXamlAstVisitor _ => _defaultFieldModifier }; } -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator/XamlXViewResolver.cs b/src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs similarity index 96% rename from src/tools/Avalonia.Generators/Generator/XamlXViewResolver.cs rename to src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs index c2a05ff954..5bbe0c060d 100644 --- a/src/tools/Avalonia.Generators/Generator/XamlXViewResolver.cs +++ b/src/tools/Avalonia.Generators/Common/XamlXViewResolver.cs @@ -1,14 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; +using Avalonia.Generators.Common.Domain; using Avalonia.Generators.Compiler; -using Avalonia.Generators.Domain; using XamlX; using XamlX.Ast; using XamlX.Parsers; -using XamlX.TypeSystem; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.Common; internal class XamlXViewResolver : IViewResolver, IXamlAstVisitor { diff --git a/src/tools/Avalonia.Generators/Domain/IsExternalInit.cs b/src/tools/Avalonia.Generators/Domain/IsExternalInit.cs deleted file mode 100644 index 8a5398986b..0000000000 --- a/src/tools/Avalonia.Generators/Domain/IsExternalInit.cs +++ /dev/null @@ -1,4 +0,0 @@ -// ReSharper disable once CheckNamespace -namespace System.Runtime.CompilerServices; - -internal static class IsExternalInit { } \ No newline at end of file diff --git a/src/tools/Avalonia.Generators/GeneratorContextExtensions.cs b/src/tools/Avalonia.Generators/GeneratorContextExtensions.cs index 57337c54ab..d057e8732e 100644 --- a/src/tools/Avalonia.Generators/GeneratorContextExtensions.cs +++ b/src/tools/Avalonia.Generators/GeneratorContextExtensions.cs @@ -17,13 +17,13 @@ internal static class GeneratorContextExtensions return value ?? defaultValue; } - public static void ReportUnhandledError(this GeneratorExecutionContext context, Exception error) => + public static void ReportNameGeneratorUnhandledError(this GeneratorExecutionContext context, Exception error) => context.Report(UnhandledErrorDescriptorId, "Unhandled exception occured while generating typed Name references. " + "Please file an issue: https://github.com/avaloniaui/Avalonia.Generators", error.ToString()); - public static void ReportInvalidType(this GeneratorExecutionContext context, string typeName) => + public static void ReportNameGeneratorInvalidType(this GeneratorExecutionContext context, string typeName) => context.Report(InvalidTypeDescriptorId, $"Avalonia x:Name generator was unable to generate names for type '{typeName}'. " + $"The type '{typeName}' does not exist in the assembly."); @@ -33,4 +33,4 @@ internal static class GeneratorContextExtensions Diagnostic.Create( new DiagnosticDescriptor(id, title, message ?? title, "Usage", DiagnosticSeverity.Error, true), Location.None)); -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/GeneratorOptions.cs b/src/tools/Avalonia.Generators/GeneratorOptions.cs index ea82a4dad0..06ed88c6e2 100644 --- a/src/tools/Avalonia.Generators/GeneratorOptions.cs +++ b/src/tools/Avalonia.Generators/GeneratorOptions.cs @@ -1,4 +1,6 @@ using System; +using Avalonia.Generators.Common.Domain; +using Avalonia.Generators.NameGenerator; using Microsoft.CodeAnalysis; namespace Avalonia.Generators; @@ -12,26 +14,6 @@ internal enum BuildProperties AvaloniaNameGeneratorViewFileNamingStrategy = 4, } -internal enum DefaultFieldModifier -{ - Public = 0, - Private = 1, - Internal = 2, - Protected = 3, -} - -internal enum Behavior -{ - OnlyProperties = 0, - InitializeComponent = 1, -} - -internal enum ViewFileNamingStrategy -{ - ClassName = 0, - NamespaceAndClassName = 1, -} - internal class GeneratorOptions { private readonly GeneratorExecutionContext _context; @@ -42,9 +24,9 @@ internal class GeneratorOptions BuildProperties.AvaloniaNameGeneratorBehavior, Behavior.InitializeComponent); - public DefaultFieldModifier AvaloniaNameGeneratorDefaultFieldModifier => GetEnumProperty( + public NamedFieldModifier AvaloniaNameGeneratorClassFieldModifier => GetEnumProperty( BuildProperties.AvaloniaNameGeneratorDefaultFieldModifier, - DefaultFieldModifier.Internal); + NamedFieldModifier.Internal); public ViewFileNamingStrategy AvaloniaNameGeneratorViewFileNamingStrategy => GetEnumProperty( BuildProperties.AvaloniaNameGeneratorViewFileNamingStrategy, @@ -71,4 +53,4 @@ internal class GeneratorOptions var value = _context.GetMsBuildProperty(key, defaultValue.ToString()); return Enum.TryParse(value, true, out TEnum behavior) ? behavior : defaultValue; } -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator/AvaloniaNameGenerator.cs b/src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameGenerator.cs similarity index 96% rename from src/tools/Avalonia.Generators/Generator/AvaloniaNameGenerator.cs rename to src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameGenerator.cs index 65239307ef..8d45afafa7 100644 --- a/src/tools/Avalonia.Generators/Generator/AvaloniaNameGenerator.cs +++ b/src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameGenerator.cs @@ -1,10 +1,10 @@ using System; using System.Collections.Generic; using System.Linq; -using Avalonia.Generators.Domain; +using Avalonia.Generators.Common.Domain; using Microsoft.CodeAnalysis; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.NameGenerator; internal class AvaloniaNameGenerator : INameGenerator { @@ -60,4 +60,4 @@ internal class AvaloniaNameGenerator : INameGenerator ViewFileNamingStrategy.NamespaceAndClassName => $"{view.Namespace}.{view.ClassName}.g.cs", _ => throw new ArgumentOutOfRangeException(nameof(strategy), strategy, "Unknown naming strategy!") }; -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator.cs b/src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameSourceGenerator.cs similarity index 80% rename from src/tools/Avalonia.Generators/Generator.cs rename to src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameSourceGenerator.cs index 9ca96795ad..a63a8993b0 100644 --- a/src/tools/Avalonia.Generators/Generator.cs +++ b/src/tools/Avalonia.Generators/NameGenerator/AvaloniaNameSourceGenerator.cs @@ -1,12 +1,11 @@ using System; -using System.Runtime.CompilerServices; +using Avalonia.Generators.Common; +using Avalonia.Generators.Common.Domain; using Avalonia.Generators.Compiler; -using Avalonia.Generators.Domain; -using Avalonia.Generators.Generator; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; -namespace Avalonia.Generators; +namespace Avalonia.Generators.NameGenerator; [Generator] public class AvaloniaNameSourceGenerator : ISourceGenerator @@ -23,7 +22,7 @@ public class AvaloniaNameSourceGenerator : ISourceGenerator } catch (Exception exception) { - context.ReportUnhandledError(exception); + context.ReportNameGeneratorUnhandledError(exception); } } @@ -43,9 +42,9 @@ public class AvaloniaNameSourceGenerator : ISourceGenerator new GlobPatternGroup(options.AvaloniaNameGeneratorFilterByPath), new GlobPatternGroup(options.AvaloniaNameGeneratorFilterByNamespace), new XamlXViewResolver(types, compiler, true, - type => context.ReportInvalidType(type), - error => context.ReportUnhandledError(error)), - new XamlXNameResolver(options.AvaloniaNameGeneratorDefaultFieldModifier), + type => context.ReportNameGeneratorInvalidType(type), + error => context.ReportNameGeneratorUnhandledError(error)), + new XamlXNameResolver(options.AvaloniaNameGeneratorClassFieldModifier), generator); } } diff --git a/src/tools/Avalonia.Generators/Domain/INameGenerator.cs b/src/tools/Avalonia.Generators/NameGenerator/INameGenerator.cs similarity index 84% rename from src/tools/Avalonia.Generators/Domain/INameGenerator.cs rename to src/tools/Avalonia.Generators/NameGenerator/INameGenerator.cs index 73c70d08ba..922d800332 100644 --- a/src/tools/Avalonia.Generators/Domain/INameGenerator.cs +++ b/src/tools/Avalonia.Generators/NameGenerator/INameGenerator.cs @@ -1,11 +1,11 @@ using System.Collections.Generic; using Microsoft.CodeAnalysis; -namespace Avalonia.Generators.Domain; +namespace Avalonia.Generators.NameGenerator; internal interface INameGenerator { IReadOnlyList GenerateNameReferences(IEnumerable additionalFiles); } -internal record GeneratedPartialClass(string FileName, string Content); \ No newline at end of file +internal record GeneratedPartialClass(string FileName, string Content); diff --git a/src/tools/Avalonia.Generators/Generator/InitializeComponentCodeGenerator.cs b/src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs similarity index 96% rename from src/tools/Avalonia.Generators/Generator/InitializeComponentCodeGenerator.cs rename to src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs index e6c155d8bf..b84c65f7b5 100644 --- a/src/tools/Avalonia.Generators/Generator/InitializeComponentCodeGenerator.cs +++ b/src/tools/Avalonia.Generators/NameGenerator/InitializeComponentCodeGenerator.cs @@ -1,10 +1,8 @@ using System.Collections.Generic; -using System.Xml.Linq; - -using Avalonia.Generators.Domain; +using Avalonia.Generators.Common.Domain; using XamlX.TypeSystem; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.NameGenerator; internal class InitializeComponentCodeGenerator: ICodeGenerator { @@ -82,4 +80,4 @@ namespace {nameSpace} return isWindow; } -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/Generator/OnlyPropertiesCodeGenerator.cs b/src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs similarity index 89% rename from src/tools/Avalonia.Generators/Generator/OnlyPropertiesCodeGenerator.cs rename to src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs index 212a5f3a4c..367874e212 100644 --- a/src/tools/Avalonia.Generators/Generator/OnlyPropertiesCodeGenerator.cs +++ b/src/tools/Avalonia.Generators/NameGenerator/OnlyPropertiesCodeGenerator.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using System.Linq; -using Avalonia.Generators.Domain; +using Avalonia.Generators.Common.Domain; using XamlX.TypeSystem; -namespace Avalonia.Generators.Generator; +namespace Avalonia.Generators.NameGenerator; internal class OnlyPropertiesCodeGenerator : ICodeGenerator { @@ -28,4 +28,4 @@ namespace {nameSpace} }} "; } -} \ No newline at end of file +} diff --git a/src/tools/Avalonia.Generators/NameGenerator/Options.cs b/src/tools/Avalonia.Generators/NameGenerator/Options.cs new file mode 100644 index 0000000000..abdaaab72b --- /dev/null +++ b/src/tools/Avalonia.Generators/NameGenerator/Options.cs @@ -0,0 +1,21 @@ +namespace Avalonia.Generators.NameGenerator; + +internal enum Options +{ + Public = 0, + Private = 1, + Internal = 2, + Protected = 3, +} + +internal enum Behavior +{ + OnlyProperties = 0, + InitializeComponent = 1, +} + +internal enum ViewFileNamingStrategy +{ + ClassName = 0, + NamespaceAndClassName = 1, +} diff --git a/tests/Avalonia.Generators.Tests/GlobPatternTests.cs b/tests/Avalonia.Generators.Tests/GlobPatternTests.cs index f0f3b78d74..5358c2bdda 100644 --- a/tests/Avalonia.Generators.Tests/GlobPatternTests.cs +++ b/tests/Avalonia.Generators.Tests/GlobPatternTests.cs @@ -1,4 +1,4 @@ -using Avalonia.Generators.Generator; +using Avalonia.Generators.Common; using Xunit; namespace Avalonia.Generators.Tests; @@ -28,4 +28,4 @@ public class GlobPatternTests { Assert.Equal(matches, new GlobPatternGroup(patterns).Matches(value)); } -} \ No newline at end of file +} diff --git a/tests/Avalonia.Generators.Tests/InitializeComponent/InitializeComponentTests.cs b/tests/Avalonia.Generators.Tests/InitializeComponent/InitializeComponentTests.cs index 4de51e4f21..7bd9c35577 100644 --- a/tests/Avalonia.Generators.Tests/InitializeComponent/InitializeComponentTests.cs +++ b/tests/Avalonia.Generators.Tests/InitializeComponent/InitializeComponentTests.cs @@ -1,6 +1,7 @@ using System.Threading.Tasks; +using Avalonia.Generators.Common; using Avalonia.Generators.Compiler; -using Avalonia.Generators.Generator; +using Avalonia.Generators.NameGenerator; using Avalonia.Generators.Tests.InitializeComponent.GeneratedInitializeComponent; using Avalonia.Generators.Tests.OnlyProperties.GeneratedCode; using Avalonia.Generators.Tests.Views; @@ -59,4 +60,4 @@ public class InitializeComponentTests CSharpSyntaxTree.ParseText(code); Assert.Equal(expected.Replace("\r", string.Empty), code); } -} \ No newline at end of file +} diff --git a/tests/Avalonia.Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs b/tests/Avalonia.Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs index 8fc1d4e969..937fd323b7 100644 --- a/tests/Avalonia.Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs +++ b/tests/Avalonia.Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs @@ -1,6 +1,7 @@ using System.Threading.Tasks; +using Avalonia.Generators.Common; using Avalonia.Generators.Compiler; -using Avalonia.Generators.Generator; +using Avalonia.Generators.NameGenerator; using Avalonia.Generators.Tests.OnlyProperties.GeneratedCode; using Avalonia.Generators.Tests.Views; using Microsoft.CodeAnalysis.CSharp; @@ -48,4 +49,4 @@ public class OnlyPropertiesTests CSharpSyntaxTree.ParseText(code); Assert.Equal(expected.Replace("\r", string.Empty), code); } -} \ No newline at end of file +} diff --git a/tests/Avalonia.Generators.Tests/XamlXClassResolverTests.cs b/tests/Avalonia.Generators.Tests/XamlXClassResolverTests.cs index a28da99393..79a1109d57 100644 --- a/tests/Avalonia.Generators.Tests/XamlXClassResolverTests.cs +++ b/tests/Avalonia.Generators.Tests/XamlXClassResolverTests.cs @@ -1,6 +1,6 @@ using System.Threading.Tasks; +using Avalonia.Generators.Common; using Avalonia.Generators.Compiler; -using Avalonia.Generators.Generator; using Avalonia.Generators.Tests.Views; using Xunit; @@ -37,4 +37,4 @@ public class XamlXClassResolverTests Assert.Equal(className, resolvedClass.ClassName); Assert.Equal(nameSpace, resolvedClass.Namespace); } -} \ No newline at end of file +} diff --git a/tests/Avalonia.Generators.Tests/XamlXNameResolverTests.cs b/tests/Avalonia.Generators.Tests/XamlXNameResolverTests.cs index 5e2ff0d815..0399294d17 100644 --- a/tests/Avalonia.Generators.Tests/XamlXNameResolverTests.cs +++ b/tests/Avalonia.Generators.Tests/XamlXNameResolverTests.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using System.Threading.Tasks; using Avalonia.Controls; +using Avalonia.Generators.Common; +using Avalonia.Generators.Common.Domain; using Avalonia.Generators.Compiler; -using Avalonia.Generators.Domain; -using Avalonia.Generators.Generator; using Avalonia.ReactiveUI; using Avalonia.Generators.Tests.Views; using Xunit; @@ -138,4 +138,4 @@ public class XamlXNameResolverTests var nameResolver = new XamlXNameResolver(); return nameResolver.ResolveNames(classInfo.Xaml); } -} \ No newline at end of file +}