diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-01 15:52:32 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-01 15:52:32 +0200 |
commit | d5d8213871d8cb68b2e4ef9b3557879c80ff5b51 (patch) | |
tree | 03b1c06d747986941187e2b5d72cc2f93ac2702b /json/jsonparse.cc | |
parent | ccbe2dd18d12d9d201afd5499e9e70ed8d2539de (diff) | |
download | nextpnr-d5d8213871d8cb68b2e4ef9b3557879c80ff5b51.tar.gz nextpnr-d5d8213871d8cb68b2e4ef9b3557879c80ff5b51.tar.bz2 nextpnr-d5d8213871d8cb68b2e4ef9b3557879c80ff5b51.zip |
Added support for attributes/properties types
Diffstat (limited to 'json/jsonparse.cc')
-rw-r--r-- | json/jsonparse.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/json/jsonparse.cc b/json/jsonparse.cc index a78affbe..df21eb0f 100644 --- a/json/jsonparse.cc +++ b/json/jsonparse.cc @@ -309,7 +309,7 @@ bool is_blackbox(JsonNode *node) } void json_import_cell_params(Context *ctx, string &modname, CellInfo *cell, JsonNode *param_node, - std::unordered_map<IdString, std::string> *dest, int param_id) + std::unordered_map<IdString, Property> *dest, int param_id) { // JsonNode *param; @@ -319,9 +319,9 @@ void json_import_cell_params(Context *ctx, string &modname, CellInfo *cell, Json pId = ctx->id(param_node->data_dict_keys[param_id]); if (param->type == 'N') { - (*dest)[pId] = std::to_string(param->data_number); + (*dest)[pId].setNumber(param->data_number); } else if (param->type == 'S') - (*dest)[pId] = param->data_string; + (*dest)[pId].setString(param->data_string); else log_error("JSON parameter type of \"%s\' of cell \'%s\' not supported\n", pId.c_str(ctx), cell->name.c_str(ctx)); @@ -333,7 +333,7 @@ void json_import_cell_params(Context *ctx, string &modname, CellInfo *cell, Json } void json_import_net_attrib(Context *ctx, string &modname, NetInfo *net, JsonNode *param_node, - std::unordered_map<IdString, std::string> *dest, int param_id) + std::unordered_map<IdString, Property> *dest, int param_id) { // JsonNode *param; @@ -343,9 +343,9 @@ void json_import_net_attrib(Context *ctx, string &modname, NetInfo *net, JsonNod pId = ctx->id(param_node->data_dict_keys[param_id]); if (param->type == 'N') { - (*dest)[pId] = std::to_string(param->data_number); + (*dest)[pId].setNumber(param->data_number); } else if (param->type == 'S') - (*dest)[pId] = param->data_string; + (*dest)[pId].setString(param->data_string); else log_error("JSON parameter type of \"%s\' of net \'%s\' not supported\n", pId.c_str(ctx), net->name.c_str(ctx)); |