From f07ccd59a72851e909e6515d38e96c9c84e3ac8b Mon Sep 17 00:00:00 2001 From: Jason Malinowski Date: Fri, 24 Jan 2020 13:40:47 -0800 Subject: [PATCH] Remove some uses of SimpleCompilationTranslationAction This base type doesn't really make things "simpler" if the uses still have static readonly lambdas. It may reduce things by a few lines of code but that's not really simpler. --- ...te.CompilationTranslationAction.Actions.cs | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/Workspaces/Core/Portable/Workspace/Solution/SolutionState.CompilationTranslationAction.Actions.cs b/src/Workspaces/Core/Portable/Workspace/Solution/SolutionState.CompilationTranslationAction.Actions.cs index 11de84429ed..f84ba3505ee 100644 --- a/src/Workspaces/Core/Portable/Workspace/Solution/SolutionState.CompilationTranslationAction.Actions.cs +++ b/src/Workspaces/Core/Portable/Workspace/Solution/SolutionState.CompilationTranslationAction.Actions.cs @@ -88,25 +88,33 @@ public override async Task InvokeAsync(Compilation oldCompilation, } } - internal sealed class ProjectCompilationOptionsAction : SimpleCompilationTranslationAction + internal sealed class ProjectCompilationOptionsAction : CompilationTranslationAction { - private static readonly Func> s_action = - (o, d, c) => Task.FromResult(o.WithOptions(d)); + private readonly CompilationOptions _options; - public ProjectCompilationOptionsAction(CompilationOptions option) - : base(option, s_action) + public ProjectCompilationOptionsAction(CompilationOptions options) { + _options = options; + } + + public override Task InvokeAsync(Compilation oldCompilation, CancellationToken cancellationToken) + { + return Task.FromResult(oldCompilation.WithOptions(_options)); } } - internal sealed class ProjectAssemblyNameAction : SimpleCompilationTranslationAction + internal sealed class ProjectAssemblyNameAction : CompilationTranslationAction { - private static readonly Func> s_action = - (o, d, c) => Task.FromResult(o.WithAssemblyName(d)); + private readonly string _assemblyName; public ProjectAssemblyNameAction(string assemblyName) - : base(assemblyName, s_action) { + _assemblyName = assemblyName; + } + + public override Task InvokeAsync(Compilation oldCompilation, CancellationToken cancellationToken) + { + return Task.FromResult(oldCompilation.WithAssemblyName(_assemblyName)); } } -- GitLab