addFromJson method

void addFromJson(
  1. Map<String, dynamic> jsonContents
)

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);
  }
}