aboutsummaryrefslogtreecommitdiffstats
path: root/json/jsonparse.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-06-01 15:52:32 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2019-06-01 15:52:32 +0200
commitd5d8213871d8cb68b2e4ef9b3557879c80ff5b51 (patch)
tree03b1c06d747986941187e2b5d72cc2f93ac2702b /json/jsonparse.cc
parentccbe2dd18d12d9d201afd5499e9e70ed8d2539de (diff)
downloadnextpnr-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.cc12
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));