addFromJson method
Populates ports, interfaces, and parameters from JSON representing the full module.
Implementation
void addFromJson(Map<String, dynamic> jsonContents) {
if (jsonContents['name'] != definitionName) {
throw RohdBridgeException(
'Module name ${jsonContents['name']} in RTL file does not match the '
'module name $definitionName');
}
final paramMap =
jsonContents['moduleParameters'] as Map<String, dynamic>? ?? {};
final parameters = addParametersFromJson(paramMap);
if (jsonContents.containsKey('portList')) {
addPortsFromJson(jsonContents['portList'] as List<dynamic>, parameters);
}
if (jsonContents['complexPortMemberToRange'] is Map<String, dynamic>) {
addStructMapsFromJson(
jsonContents['complexPortMemberToRange'] as Map<String, dynamic>);
}
if (jsonContents['busInterfaces'] != null) {
addInterfacesFromJson(jsonContents['name'] as String,
jsonContents['busInterfaces'] as Map<String, dynamic>, parameters);
}
}