private bool CheckDup(RegisterEntry new_entry) { int addr_new = new_entry.GetAddress(); string name_new = new_entry.GetName(); foreach (RegisterEntry item in RegList) { if (item.GetIsComment() || item == new_entry) { continue; } if (item.GetName().Equals(name_new)) { new_entry.SetReason("Name " + name_new + " is already in the list at address " + item.GetAddress().ToString()); new_entry.SetValid(false); return(false); } if (item.GetAddress() == addr_new) { new_entry.SetReason("Address " + addr_new + " is already in the list at register " + item.GetName()); new_entry.SetValid(false); return(false); } } return(true); }
public static bool ValidEntry(RegisterEntry entry) { if (entry.GetIsComment()) { return(true); } bool b = true; if (!entry.IsValidAddress()) { entry.SetReason("The register " + entry.GetName() + " has invalid address: " + entry.GetAddress()); entry.SetValid(false); b = false; } if (!entry.IsValidMAIS()) { entry.SetReason("The register " + entry.GetName() + " has invalid MAIS field: " + entry.GetMAIS()); entry.SetValid(false); b = false; } if (!entry.IsValidLSB()) { entry.SetReason("The register " + entry.GetName() + "(" + entry.GetAddress() + ") has LSB out of range [0, 32)"); entry.SetValid(false); b = false; } if (!entry.IsValidLSB()) { entry.SetReason("The register " + entry.GetName() + "(" + entry.GetAddress() + ") has MSB out of range [0, 32)"); entry.SetValid(false); b = false; } if (!entry.IsValidLsbMsb()) { entry.SetReason("The register " + entry.GetName() + "(" + entry.GetAddress() + ") has MSB < LSB"); entry.SetValid(false); b = false; } return(b); }