Browse Source

Use record struct

pull/7935/head
Steven He 5 years ago
parent
commit
b4a5d2e88a
  1. 4
      src/Avalonia.SourceGenerator/SubtypesFactoryGenerator.cs

4
src/Avalonia.SourceGenerator/SubtypesFactoryGenerator.cs

@ -11,7 +11,7 @@ namespace Avalonia.SourceGenerator
[Generator(LanguageNames.CSharp)] [Generator(LanguageNames.CSharp)]
public class SubtypesFactoryGenerator : IIncrementalGenerator public class SubtypesFactoryGenerator : IIncrementalGenerator
{ {
private record MethodTarget(IMethodSymbol Method, ITypeSymbol BaseType, string Namespace); private record struct MethodTarget(IMethodSymbol Method, ITypeSymbol BaseType, string Namespace);
private static readonly string s_attributeName = typeof(SubtypesFactoryAttribute).FullName; private static readonly string s_attributeName = typeof(SubtypesFactoryAttribute).FullName;
private static bool IsSubtypeOf(ITypeSymbol type, ITypeSymbol baseType) private static bool IsSubtypeOf(ITypeSymbol type, ITypeSymbol baseType)
@ -146,7 +146,7 @@ namespace {method.ContainingNamespace}
.SelectMany((method, token) => .SelectMany((method, token) =>
{ {
token.ThrowIfCancellationRequested(); token.ThrowIfCancellationRequested();
return method is null ? Array.Empty<MethodTarget>() : new MethodTarget[] { method }; return method is null ? Array.Empty<MethodTarget>() : new MethodTarget[] { method.Value };
}); });
var generateContext = methodsProvider.Combine(typesProvider.Collect()); var generateContext = methodsProvider.Combine(typesProvider.Collect());

Loading…
Cancel
Save