Skip to content

Commit 063623b

Browse files
authored
+semver:minor - Remove need for reflection in ProgressPrinter now we have public meth… (#492)
* Remove need for reflection in ProgressPrinter now we have public methods in Spectre.Console 0.49 * ReleaseNotes.md * Formatting Markdown --------- Co-authored-by: Tom Longhurst <[email protected]>
1 parent 13b4c35 commit 063623b

File tree

3 files changed

+6
-12
lines changed

3 files changed

+6
-12
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
null
1+
* Remove the need to use reflection within ProgressPrinter for appending Sub-Modules to a parent Module

src/ModularPipelines/Helpers/ProgressPrinter.cs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -237,22 +237,16 @@ string GetColour()
237237
private static void RegisterSubModules(RunnableModule moduleToProcess, ProgressContext progressContext,
238238
CancellationToken cancellationToken, ProgressTask parentModuleTask)
239239
{
240-
var subModuleIndex = 0;
240+
var lastTask = parentModuleTask;
241+
241242
moduleToProcess.Module.OnSubModuleCreated += (_, subModule) =>
242243
{
243244
var moduleName = moduleToProcess.Module.GetType().Name;
244245

245-
var progressTask = progressContext.AddTask($"- {subModule.Name}", new ProgressTaskSettings
246+
var progressTask = lastTask = progressContext.AddTaskAfter($"- {subModule.Name}", new ProgressTaskSettings
246247
{
247248
AutoStart = true,
248-
});
249-
250-
var list = (List<ProgressTask>) progressContext.GetType()
251-
.GetField("_tasks", BindingFlags.Instance | BindingFlags.NonPublic)!
252-
.GetValue(progressContext)!;
253-
254-
list.Remove(progressTask);
255-
list.Insert(list.IndexOf(parentModuleTask) + ++subModuleIndex, progressTask);
249+
}, lastTask);
256250

257251
Task.Run(async () =>
258252
{

src/ModularPipelines/Logging/ModuleLogger.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ private void TryObfuscateValues(object state)
177177
{
178178
var objArrayNullable = state.GetType()
179179
.GetField("_values", BindingFlags.NonPublic | BindingFlags.Instance)
180-
?.GetValue(state) as object?[] ?? Array.Empty<object>();
180+
?.GetValue(state) as object?[] ?? [];
181181

182182
for (var index = 0; index < objArrayNullable.Length; index++)
183183
{

0 commit comments

Comments
 (0)