Skip to content

Commit f643ea2

Browse files
committed
Replace StaticStringMap implementation.
No more runtime initialization, no more StaticStringMapWithEql. Introduce StaticStringMapIgnoreCase. Update references to StaticStringMapWithEql to use StaticStringMapIgnoreCase. Update asn1 to conform to comptime-known requirements of StaticStringMap.get().
1 parent 4d79806 commit f643ea2

File tree

4 files changed

+301
-361
lines changed

4 files changed

+301
-361
lines changed

lib/compiler/resinator/rc.zig

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,8 @@ pub const ResourceType = enum {
4747
fontdir_num,
4848
manifest_num,
4949

50-
const map = std.StaticStringMapWithEql(
50+
const map = std.StaticStringMapIgnoreCase(
5151
ResourceType,
52-
std.static_string_map.eqlAsciiIgnoreCase,
5352
).initComptime(.{
5453
.{ "ACCELERATORS", .accelerators },
5554
.{ "BITMAP", .bitmap },
@@ -160,18 +159,16 @@ pub const OptionalStatements = enum {
160159
menu,
161160
style,
162161

163-
pub const map = std.StaticStringMapWithEql(
162+
pub const map = std.StaticStringMapIgnoreCase(
164163
OptionalStatements,
165-
std.static_string_map.eqlAsciiIgnoreCase,
166164
).initComptime(.{
167165
.{ "CHARACTERISTICS", .characteristics },
168166
.{ "LANGUAGE", .language },
169167
.{ "VERSION", .version },
170168
});
171169

172-
pub const dialog_map = std.StaticStringMapWithEql(
170+
pub const dialog_map = std.StaticStringMapIgnoreCase(
173171
OptionalStatements,
174-
std.static_string_map.eqlAsciiIgnoreCase,
175172
).initComptime(.{
176173
.{ "CAPTION", .caption },
177174
.{ "CLASS", .class },
@@ -206,9 +203,8 @@ pub const Control = enum {
206203
state3,
207204
userbutton,
208205

209-
pub const map = std.StaticStringMapWithEql(
206+
pub const map = std.StaticStringMapIgnoreCase(
210207
Control,
211-
std.static_string_map.eqlAsciiIgnoreCase,
212208
).initComptime(.{
213209
.{ "AUTO3STATE", .auto3state },
214210
.{ "AUTOCHECKBOX", .autocheckbox },
@@ -243,9 +239,8 @@ pub const Control = enum {
243239
};
244240

245241
pub const ControlClass = struct {
246-
pub const map = std.StaticStringMapWithEql(
242+
pub const map = std.StaticStringMapIgnoreCase(
247243
res.ControlClass,
248-
std.static_string_map.eqlAsciiIgnoreCase,
249244
).initComptime(.{
250245
.{ "BUTTON", .button },
251246
.{ "EDIT", .edit },
@@ -295,9 +290,8 @@ pub const MenuItem = enum {
295290
menuitem,
296291
popup,
297292

298-
pub const map = std.StaticStringMapWithEql(
293+
pub const map = std.StaticStringMapIgnoreCase(
299294
MenuItem,
300-
std.static_string_map.eqlAsciiIgnoreCase,
301295
).initComptime(.{
302296
.{ "MENUITEM", .menuitem },
303297
.{ "POPUP", .popup },
@@ -315,9 +309,8 @@ pub const MenuItem = enum {
315309
menubarbreak,
316310
menubreak,
317311

318-
pub const map = std.StaticStringMapWithEql(
312+
pub const map = std.StaticStringMapIgnoreCase(
319313
Option,
320-
std.static_string_map.eqlAsciiIgnoreCase,
321314
).initComptime(.{
322315
.{ "CHECKED", .checked },
323316
.{ "GRAYED", .grayed },
@@ -333,9 +326,8 @@ pub const ToolbarButton = enum {
333326
button,
334327
separator,
335328

336-
pub const map = std.StaticStringMapWithEql(
329+
pub const map = std.StaticStringMapIgnoreCase(
337330
ToolbarButton,
338-
std.static_string_map.eqlAsciiIgnoreCase,
339331
).initComptime(.{
340332
.{ "BUTTON", .button },
341333
.{ "SEPARATOR", .separator },
@@ -351,9 +343,8 @@ pub const VersionInfo = enum {
351343
file_type,
352344
file_subtype,
353345

354-
pub const map = std.StaticStringMapWithEql(
346+
pub const map = std.StaticStringMapIgnoreCase(
355347
VersionInfo,
356-
std.static_string_map.eqlAsciiIgnoreCase,
357348
).initComptime(.{
358349
.{ "FILEVERSION", .file_version },
359350
.{ "PRODUCTVERSION", .product_version },
@@ -369,9 +360,8 @@ pub const VersionBlock = enum {
369360
block,
370361
value,
371362

372-
pub const map = std.StaticStringMapWithEql(
363+
pub const map = std.StaticStringMapIgnoreCase(
373364
VersionBlock,
374-
std.static_string_map.eqlAsciiIgnoreCase,
375365
).initComptime(.{
376366
.{ "BLOCK", .block },
377367
.{ "VALUE", .value },
@@ -386,9 +376,8 @@ pub const TopLevelKeywords = enum {
386376
characteristics,
387377
stringtable,
388378

389-
pub const map = std.StaticStringMapWithEql(
379+
pub const map = std.StaticStringMapIgnoreCase(
390380
TopLevelKeywords,
391-
std.static_string_map.eqlAsciiIgnoreCase,
392381
).initComptime(.{
393382
.{ "LANGUAGE", .language },
394383
.{ "VERSION", .version },
@@ -408,9 +397,8 @@ pub const CommonResourceAttributes = enum {
408397
shared,
409398
nonshared,
410399

411-
pub const map = std.StaticStringMapWithEql(
400+
pub const map = std.StaticStringMapIgnoreCase(
412401
CommonResourceAttributes,
413-
std.static_string_map.eqlAsciiIgnoreCase,
414402
).initComptime(.{
415403
.{ "PRELOAD", .preload },
416404
.{ "LOADONCALL", .loadoncall },
@@ -432,9 +420,8 @@ pub const AcceleratorTypeAndOptions = enum {
432420
shift,
433421
control,
434422

435-
pub const map = std.StaticStringMapWithEql(
423+
pub const map = std.StaticStringMapIgnoreCase(
436424
AcceleratorTypeAndOptions,
437-
std.static_string_map.eqlAsciiIgnoreCase,
438425
).initComptime(.{
439426
.{ "VIRTKEY", .virtkey },
440427
.{ "ASCII", .ascii },

lib/std/crypto/codecs/asn1/Oid.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ pub fn StaticMap(comptime Enum: type) type {
153153
oid_to_enum: std.StaticStringMap(Enum),
154154
enum_to_oid: EnumToOid,
155155

156-
pub fn oidToEnum(self: @This(), encoded: []const u8) ?Enum {
156+
pub fn oidToEnum(comptime self: @This(), encoded: []const u8) ?Enum {
157157
return self.oid_to_enum.get(encoded);
158158
}
159159

0 commit comments

Comments
 (0)