From d4238957c4b84ec49c4ff221350e7aef51002590 Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Fri, 26 May 2023 14:55:41 +0900 Subject: [PATCH] Reduce lambda captures --- .../HandleInput/HandleInputSemanticTarget.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/osu.Framework.SourceGeneration/Generators/HandleInput/HandleInputSemanticTarget.cs b/osu.Framework.SourceGeneration/Generators/HandleInput/HandleInputSemanticTarget.cs index 0dde034cc..962930b4f 100644 --- a/osu.Framework.SourceGeneration/Generators/HandleInput/HandleInputSemanticTarget.cs +++ b/osu.Framework.SourceGeneration/Generators/HandleInput/HandleInputSemanticTarget.cs @@ -54,34 +54,34 @@ namespace osu.Framework.SourceGeneration.Generators.HandleInput || checkProperties(non_positional_input_properties, symbol); } - private bool checkMethods(IEnumerable methods, INamedTypeSymbol symbol) + private static bool checkMethods(IEnumerable methods, INamedTypeSymbol symbol) { - return runForTypeHierarchy(symbol, s => + return runForTypeHierarchy(symbol, methods, static (symbol, methods) => { - return methods.SelectMany(name => s.GetMembers(name).OfType()).Any(isDrawableMethod); + return methods.SelectMany(name => symbol.GetMembers(name).OfType()).Any(isDrawableMethod); }); } - private bool checkProperties(IEnumerable properties, INamedTypeSymbol symbol) + private static bool checkProperties(IEnumerable properties, INamedTypeSymbol symbol) { - return runForTypeHierarchy(symbol, s => + return runForTypeHierarchy(symbol, properties, static (symbol, properties) => { return properties.SelectMany(name => symbol.GetMembers(name).OfType()).Any(isDrawableProperty); }); } - private bool checkInterfaces(ImmutableHashSet interfaces, INamedTypeSymbol symbol) + private static bool checkInterfaces(ImmutableHashSet interfaces, INamedTypeSymbol symbol) { return symbol.AllInterfaces.Select(SyntaxHelpers.GetFullyQualifiedTypeName).Any(interfaces.Contains); } - private bool runForTypeHierarchy(INamedTypeSymbol symbol, Func func) + private static bool runForTypeHierarchy(INamedTypeSymbol symbol, T items, Func func) { INamedTypeSymbol? type = symbol; while (type != null && !isDrawableType(type)) { - if (func(type)) + if (func(type, items)) return true; type = type.BaseType; @@ -90,7 +90,7 @@ namespace osu.Framework.SourceGeneration.Generators.HandleInput return false; } - private bool isDrawableMethod(IMethodSymbol method) + private static bool isDrawableMethod(IMethodSymbol method) { while (method.OverriddenMethod != null) method = method.OverriddenMethod; @@ -98,7 +98,7 @@ namespace osu.Framework.SourceGeneration.Generators.HandleInput return isDrawableType(method.ContainingType); } - private bool isDrawableProperty(IPropertySymbol property) + private static bool isDrawableProperty(IPropertySymbol property) { while (property.OverriddenProperty != null) property = property.OverriddenProperty; @@ -106,7 +106,7 @@ namespace osu.Framework.SourceGeneration.Generators.HandleInput return isDrawableType(property.ContainingType); } - private bool isDrawableType(INamedTypeSymbol type) + private static bool isDrawableType(INamedTypeSymbol type) => SyntaxHelpers.GetFullyQualifiedTypeName(type) == "osu.Framework.Graphics.Drawable"; // HandleInputCache.positional_input_methods