Skip to content

Commit fb98f40

Browse files
committed
Change the list and order of INameTrimmers used to be statically configured
(cherry picked from commit bc94260)
1 parent a30ac45 commit fb98f40

8 files changed

Lines changed: 27 additions & 94 deletions

File tree

sources/SilkTouch/SilkTouch/Mods/PrettifyNames.cs

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@ namespace Silk.NET.SilkTouch.Mods;
1414
/// </summary>
1515
/// <param name="logger">The logger.</param>
1616
/// <param name="config">Configuration snapshot.</param>
17-
/// <param name="trimmerProviders">Name trimmer providers.</param>
1817
[ModConfiguration<Configuration>]
1918
public class PrettifyNames(
2019
ILogger<PrettifyNames> logger,
21-
IOptionsSnapshot<PrettifyNames.Configuration> config,
22-
IEnumerable<IJobDependency<INameTrimmer>> trimmerProviders
20+
IOptionsSnapshot<PrettifyNames.Configuration> config
2321
) : IMod, IResponseFileMod
2422
{
2523
/// <summary>
@@ -179,13 +177,13 @@ public async Task ExecuteAsync(IModContext ctx, CancellationToken ct = default)
179177
// couldn't be bothered to introduce a weight property. It is also unclear what effect this has on 2.17/2.18
180178
// but to be honest those trimmers aren't used and are only included for posterity and understanding of the
181179
// old logic.
182-
var trimmers = trimmerProviders
183-
.SelectMany(x => x.Get(ctx.JobKey))
184-
.Append(new NameAffixerEarlyTrimmer(nameAffixer))
185-
.Append(new NameAffixerLateTrimmer(nameAffixer))
186-
.Append(new PrettifyNamesTrimmer(namePrettifier))
187-
.OrderBy(x => x.Order)
188-
.ToArray();
180+
var trimmers = new INameTrimmer[]
181+
{
182+
new NameAffixerEarlyTrimmer(nameAffixer),
183+
new NameTrimmer(),
184+
new PrettifyNamesTrimmer(namePrettifier),
185+
new NameAffixerLateTrimmer(nameAffixer),
186+
};
189187

190188
// Create a type name dictionary to trim the type names.
191189
var typeNames = visitor.TrimmableTypes.ToDictionary(
@@ -1455,10 +1453,7 @@ private NameAffixConfiguration GetConfiguration(string category) =>
14551453
private class NameAffixerEarlyTrimmer(PrettifyNamesAffixer affixer) : INameTrimmer
14561454
{
14571455
/// <inheritdoc/>
1458-
public Version Version => new(0, 0, 0);
1459-
1460-
/// <inheritdoc/>
1461-
public int Order => (int)TrimmerOrder.NameAffixerEarlyTrimmer;
1456+
public Version Version => new(3, 0);
14621457

14631458
public void Trim(NameTrimmerContext context)
14641459
{
@@ -1494,10 +1489,7 @@ public void Trim(NameTrimmerContext context)
14941489
private class NameAffixerLateTrimmer(PrettifyNamesAffixer affixer) : INameTrimmer
14951490
{
14961491
/// <inheritdoc/>
1497-
public Version Version => new(0, 0, 0);
1498-
1499-
/// <inheritdoc/>
1500-
public int Order => (int)TrimmerOrder.NameAffixerLateTrimmer;
1492+
public Version Version => new(3, 0);
15011493

15021494
public void Trim(NameTrimmerContext context)
15031495
{
@@ -1530,10 +1522,7 @@ public void Trim(NameTrimmerContext context)
15301522
private class PrettifyNamesTrimmer(NamePrettifier namePrettifier) : INameTrimmer
15311523
{
15321524
/// <inheritdoc/>
1533-
public Version Version => new(0, 0, 0);
1534-
1535-
/// <inheritdoc/>
1536-
public int Order => (int)TrimmerOrder.PrettifyNamesTrimmer;
1525+
public Version Version => new(3, 0);
15371526

15381527
public void Trim(NameTrimmerContext context)
15391528
{

sources/SilkTouch/SilkTouch/Naming/INameTrimmer.cs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
using System;
2-
using System.Collections.Generic;
3-
4-
namespace Silk.NET.SilkTouch.Naming;
1+
namespace Silk.NET.SilkTouch.Naming;
52

63
/// <summary>
74
/// Represents a name trimmer.
@@ -15,12 +12,6 @@ public interface INameTrimmer
1512
/// </summary>
1613
Version Version { get; }
1714

18-
/// <summary>
19-
/// Used to define the order that the trimmers will run in.
20-
/// Higher values indicate that the trimmer should run later.
21-
/// </summary>
22-
int Order { get; }
23-
2415
/// <summary>
2516
/// Trims prefixes from the given constituent names within the given container.
2617
/// </summary>

sources/SilkTouch/SilkTouch/Naming/NameTrimmer.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@ public class NameTrimmer : INameTrimmer
1414
/// <inheritdoc />
1515
public virtual Version Version => new(3, 0);
1616

17-
/// <inheritdoc/>
18-
public virtual int Order => (int)TrimmerOrder.NameTrimmer;
19-
2017
/// <summary>
2118
/// Determines whether a second pass without using <see cref="GetTrimmingName"/> is warranted.
2219
/// </summary>

sources/SilkTouch/SilkTouch/Naming/NameTrimmer217.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ public class NameTrimmer217 : NameTrimmer
1313
/// <inheritdoc />
1414
public override Version Version => new(2, 17);
1515

16-
/// <inheritdoc/>
17-
public override int Order => (int)TrimmerOrder.NameTrimmer217;
18-
1916
/// <inheritdoc />
2017
protected override bool HasRawPass => false;
2118

sources/SilkTouch/SilkTouch/Naming/NameTrimmer218.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@ public class NameTrimmer218 : NameTrimmer
1111
/// <inheritdoc />
1212
public override Version Version => new(2, 18);
1313

14-
/// <inheritdoc/>
15-
public override int Order => (int)TrimmerOrder.NameTrimmer218;
16-
1714
/// <inheritdoc />
1815
protected override bool HasRawPass => false;
1916

sources/SilkTouch/SilkTouch/Naming/TrimmerOrder.cs

Lines changed: 0 additions & 20 deletions
This file was deleted.

sources/SilkTouch/SilkTouch/ServiceCollectionExtensions.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,13 @@ IConfiguration config
9696
// - https://andrewlock.net/how-to-register-a-service-with-multiple-interfaces-for-in-asp-net-core-di/
9797
// - https://discordapp.com/channels/143867839282020352/663803973119115264/1129546023388332075 (C# Discord)
9898

99-
// services.AddSingleton<ClangScraper>(); <-- this is a mod now
10099
services.AddSingleton<ResponseFileHandler>();
101100
services.AddSingleton<FunctionTransformer>();
102101
services.AddSingleton<MSBuildModContextProvider>();
103102
services.TryAddSingleton<IModContextProvider>(s =>
104103
s.GetRequiredService<MSBuildModContextProvider>()
105104
);
106-
services.AddSingleton<NameTrimmer>();
107105
services.AddSingleton<DefaultBakeStrategy>();
108-
services.AddSingleton<INameTrimmer>(s => s.GetRequiredService<NameTrimmer>());
109106
services.AddSingleton<IBakeStrategy>(s => s.GetRequiredService<DefaultBakeStrategy>());
110107
services.AddSingleton(typeof(IJobDependency<>), typeof(JobDependencies.Global<>));
111108
services.TryAddSingleton<ICacheProvider, FileSystemCacheProvider>();

tests/SilkTouch/SilkTouch/Naming/PrettifyNamesTests.cs

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,7 @@ public enum OcclusionQueryParameterNameNV
3939

4040
var prettifyNames = new PrettifyNames(
4141
NullLogger<PrettifyNames>.Instance,
42-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
43-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
42+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
4443
);
4544

4645
await prettifyNames.ExecuteAsync(context);
@@ -73,8 +72,7 @@ public enum VocalMorpherPhoneme
7372

7473
var prettifyNames = new PrettifyNames(
7574
NullLogger<PrettifyNames>.Instance,
76-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
77-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
75+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
7876
);
7977

8078
await prettifyNames.ExecuteAsync(context);
@@ -103,8 +101,7 @@ public enum VkPresentIdKHR { }
103101

104102
var prettifyNames = new PrettifyNames(
105103
NullLogger<PrettifyNames>.Instance,
106-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
107-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
104+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
108105
);
109106

110107
await prettifyNames.ExecuteAsync(context);
@@ -138,8 +135,7 @@ public enum OcclusionQueryParameterNameNV
138135

139136
var prettifyNames = new PrettifyNames(
140137
NullLogger<PrettifyNames>.Instance,
141-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
142-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
138+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
143139
);
144140

145141
await prettifyNames.ExecuteAsync(context);
@@ -181,8 +177,7 @@ public enum OcclusionQueryParameterNameNV
181177
NullLogger<PrettifyNames>.Instance,
182178
new DummyOptions<PrettifyNames.Configuration>(
183179
new PrettifyNames.Configuration() { GlobalPrefixHints = ["gl"] }
184-
),
185-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
180+
)
186181
);
187182

188183
await prettifyNames.ExecuteAsync(context);
@@ -210,8 +205,7 @@ public enum OcclusionQueryParameterNameNV
210205

211206
var prettifyNames = new PrettifyNames(
212207
NullLogger<PrettifyNames>.Instance,
213-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
214-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
208+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
215209
);
216210

217211
await prettifyNames.ExecuteAsync(context);
@@ -255,8 +249,7 @@ public enum OcclusionQueryParameterNameNV
255249
NullLogger<PrettifyNames>.Instance,
256250
new DummyOptions<PrettifyNames.Configuration>(
257251
new PrettifyNames.Configuration() { GlobalPrefixHints = ["gl"] }
258-
),
259-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
252+
)
260253
);
261254

262255
await prettifyNames.ExecuteAsync(context);
@@ -287,8 +280,7 @@ public enum OcclusionQueryParameterNameNV
287280

288281
var prettifyNames = new PrettifyNames(
289282
NullLogger<PrettifyNames>.Instance,
290-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
291-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
283+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
292284
);
293285

294286
await prettifyNames.ExecuteAsync(context);
@@ -327,8 +319,7 @@ public enum VkPresentModeKHR
327319

328320
var prettifyNames = new PrettifyNames(
329321
NullLogger<PrettifyNames>.Instance,
330-
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration()),
331-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
322+
new DummyOptions<PrettifyNames.Configuration>(new PrettifyNames.Configuration())
332323
);
333324

334325
await prettifyNames.ExecuteAsync(context);
@@ -354,8 +345,7 @@ public async Task TrimsPrefix_WhenMatchingHint()
354345
NullLogger<PrettifyNames>.Instance,
355346
new DummyOptions<PrettifyNames.Configuration>(
356347
new PrettifyNames.Configuration() { GlobalPrefixHints = ["vk"] }
357-
),
358-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
348+
)
359349
);
360350

361351
await prettifyNames.ExecuteAsync(context);
@@ -382,8 +372,7 @@ public async Task DoesNotTrimTypeName_WhenNotMatchingHint_AndOnlyOneType()
382372
NullLogger<PrettifyNames>.Instance,
383373
new DummyOptions<PrettifyNames.Configuration>(
384374
new PrettifyNames.Configuration() { GlobalPrefixHints = ["gl"] }
385-
),
386-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
375+
)
387376
);
388377

389378
await prettifyNames.ExecuteAsync(context);
@@ -419,8 +408,7 @@ public enum InternalFormat
419408
NullLogger<PrettifyNames>.Instance,
420409
new DummyOptions<PrettifyNames.Configuration>(
421410
new PrettifyNames.Configuration() { LongAcronymThreshold = 3 }
422-
),
423-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
411+
)
424412
);
425413

426414
await prettifyNames.ExecuteAsync(context);
@@ -470,8 +458,7 @@ public enum ALEnum
470458
NullLogger<PrettifyNames>.Instance,
471459
new DummyOptions<PrettifyNames.Configuration>(
472460
new PrettifyNames.Configuration() { LongAcronymThreshold = 4 }
473-
),
474-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
461+
)
475462
);
476463

477464
await prettifyNames.ExecuteAsync(context);
@@ -529,8 +516,7 @@ public void alFilteri() { }
529516
},
530517
},
531518
}
532-
),
533-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
519+
)
534520
);
535521

536522
await prettifyNames.ExecuteAsync(context);
@@ -562,8 +548,7 @@ public enum GLEnum { }
562548
NullLogger<PrettifyNames>.Instance,
563549
new DummyOptions<PrettifyNames.Configuration>(
564550
new PrettifyNames.Configuration() { GlobalPrefixHints = ["gl"] }
565-
),
566-
[new DummyJobDependency<INameTrimmer>([new NameTrimmer()])]
551+
)
567552
);
568553

569554
await prettifyNames.ExecuteAsync(context);

0 commit comments

Comments
 (0)