Be more explicit about support

This commit is contained in:
Matt Nadareski
2026-03-26 09:05:58 -04:00
parent 2fdc2407dd
commit c216129b37
25 changed files with 117 additions and 55 deletions

View File

@@ -157,7 +157,6 @@ namespace SabreTools.Metadata.DatFiles
// Increment the item count for the type
AddItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType());
#pragma warning disable IDE0010
// Some item types require special processing
switch (item)
{
@@ -170,8 +169,11 @@ namespace SabreTools.Metadata.DatFiles
case Data.Models.Metadata.Rom rom:
AddItemStatistics(rom);
break;
default:
// Item type requires no special processing
break;
}
#pragma warning restore IDE0010
}
}
@@ -278,7 +280,6 @@ namespace SabreTools.Metadata.DatFiles
// Decrement the item count for the type
RemoveItemCount(item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType());
#pragma warning disable IDE0010
// Some item types require special processing
switch (item)
{
@@ -294,8 +295,11 @@ namespace SabreTools.Metadata.DatFiles
case Rom rom:
RemoveItemStatistics(rom);
break;
default:
// Item type requires no special processing
break;
}
#pragma warning restore IDE0010
}
}
@@ -321,7 +325,6 @@ namespace SabreTools.Metadata.DatFiles
// Decrement the item count for the type
RemoveItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType());
#pragma warning disable IDE0010
// Some item types require special processing
switch (item)
{
@@ -334,8 +337,11 @@ namespace SabreTools.Metadata.DatFiles
case Data.Models.Metadata.Rom rom:
RemoveItemStatistics(rom);
break;
default:
// Item type requires no special processing
break;
}
#pragma warning restore IDE0010
}
}

View File

@@ -71,7 +71,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
#pragma warning disable IDE0010
switch (datItem)
{
case Release release:
@@ -170,8 +169,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL)
missingFields.Add(Data.Models.Metadata.Driver.EmulationKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -33,7 +33,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
@@ -46,8 +45,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
// if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)))
// missingFields.Add(Data.Models.Metadata.Rom.SHA1Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -33,7 +33,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
@@ -46,8 +45,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)))
missingFields.Add(Data.Models.Metadata.Rom.CRCKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -34,7 +34,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Disk disk:
@@ -54,8 +53,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)))
missingFields.Add(Data.Models.Metadata.Rom.SHA1Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -257,7 +257,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
#pragma warning disable IDE0010
switch (datItem)
{
case BiosSet biosset:
@@ -388,8 +387,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(ramoption.GetName()))
missingFields.Add(Data.Models.Metadata.RamOption.NameKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -263,7 +263,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
#pragma warning disable IDE0010
switch (datItem)
{
case Release release:
@@ -362,8 +361,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (softwarelist.GetStringFieldValue(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus() == SoftwareListStatus.None)
missingFields.Add(Data.Models.Metadata.SoftwareList.StatusKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)))
missingFields.Add(Data.Models.Metadata.Rom.MD2Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)))
missingFields.Add(Data.Models.Metadata.Rom.MD4Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -38,7 +38,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Disk disk:
@@ -55,8 +54,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)))
missingFields.Add(Data.Models.Metadata.Rom.MD5Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
using SabreTools.Metadata.DatItems;
using SabreTools.Metadata.DatItems.Formats;
@@ -29,7 +29,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
@@ -38,8 +37,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)))
missingFields.Add(Data.Models.Metadata.Rom.CRCKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -72,15 +72,17 @@ The softwaredb.xml file contains information about rom mapper types
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)))
missingFields.Add(Data.Models.Metadata.Rom.SHA1Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)))
missingFields.Add(Data.Models.Metadata.Rom.RIPEMD128Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)))
missingFields.Add(Data.Models.Metadata.Rom.RIPEMD160Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -33,7 +33,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
@@ -42,8 +41,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0)
missingFields.Add(Data.Models.Metadata.Rom.SizeKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -248,7 +248,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (datItemObj is null)
return;
#pragma warning disable IDE0010
switch (datItemObj.Value<string>("type").AsItemType())
{
case ItemType.Adjuster:
@@ -320,6 +319,9 @@ namespace SabreTools.Metadata.DatFiles.Formats
case ItemType.Feature:
datItem = datItemObj.ToObject<Feature>();
break;
case ItemType.File:
datItem = datItemObj.ToObject<DatItems.Formats.File>();
break;
case ItemType.Info:
datItem = datItemObj.ToObject<Info>();
break;
@@ -332,6 +334,9 @@ namespace SabreTools.Metadata.DatFiles.Formats
case ItemType.Media:
datItem = datItemObj.ToObject<Media>();
break;
case ItemType.Original:
// Cannot be converted to a DatItem
break;
case ItemType.Part:
datItem = datItemObj.ToObject<Part>();
break;
@@ -377,8 +382,12 @@ namespace SabreTools.Metadata.DatFiles.Formats
case ItemType.SourceDetails:
datItem = datItemObj.ToObject<SourceDetails>();
break;
case ItemType.NULL:
default:
// This should never happen
break;
}
#pragma warning restore IDE0010
}
// If we got a valid datitem, copy machine info and add

View File

@@ -70,7 +70,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Disk disk:
@@ -108,8 +107,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
}
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)))
missingFields.Add(Data.Models.Metadata.Rom.CRCKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -38,7 +38,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Disk disk:
@@ -55,8 +54,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)))
missingFields.Add(Data.Models.Metadata.Rom.SHA1Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -37,7 +37,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Media medium:
@@ -49,8 +48,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)))
missingFields.Add(Data.Models.Metadata.Rom.SHA256Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)))
missingFields.Add(Data.Models.Metadata.Rom.SHA384Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -36,15 +36,17 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Rom rom:
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)))
missingFields.Add(Data.Models.Metadata.Rom.SHA512Key);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -104,7 +104,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
{
List<string> missingFields = [];
#pragma warning disable IDE0010
switch (datItem)
{
case DipSwitch dipSwitch:
@@ -204,8 +203,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(sharedFeat.GetName()))
missingFields.Add(Data.Models.Metadata.SharedFeat.NameKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -37,7 +37,6 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(datItem.GetName()))
missingFields.Add(Data.Models.Metadata.Rom.NameKey);
#pragma warning disable IDE0010
switch (datItem)
{
case Media medium:
@@ -49,8 +48,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)))
missingFields.Add(Data.Models.Metadata.Rom.SpamSumKey);
break;
default:
// Item type is not supported
break;
}
#pragma warning restore IDE0010
return missingFields;
}

View File

@@ -279,7 +279,6 @@ namespace SabreTools.Metadata.DatItems
string sourceKeyPadded = source?.Index.ToString().PadLeft(10, '0') + '-';
string machineName = machine?.GetName() ?? "Default";
#pragma warning disable IDE0010
// Now determine what the key should be based on the bucketedBy value
switch (bucketedBy)
{
@@ -338,8 +337,12 @@ namespace SabreTools.Metadata.DatItems
case ItemKey.SpamSum:
key = HashType.SpamSum.ZeroString;
break;
case ItemKey.NULL:
default:
// This should never happen
break;
}
#pragma warning restore IDE0010
// Double and triple check the key for corner cases
key ??= string.Empty;