Apply the bison parser changes in commit 347039f64509e ("src: add symbol range expression to further compact intervals") to JSON parser as well. Fixes: 347039f64509e ("src: add symbol range expression to further compact intervals") Signed-off-by: Phil Sutter --- src/parser_json.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/parser_json.c b/src/parser_json.c index bd865de59007a..120c814bc7a9b 100644 --- a/src/parser_json.c +++ b/src/parser_json.c @@ -1353,7 +1353,7 @@ static struct expr *json_parse_prefix_expr(struct json_ctx *ctx, static struct expr *json_parse_range_expr(struct json_ctx *ctx, const char *type, json_t *root) { - struct expr *expr_low, *expr_high; + struct expr *expr_low, *expr_high, *tmp; json_t *low, *high; if (json_unpack_err(ctx, root, "[o, o!]", &low, &high)) @@ -1370,6 +1370,16 @@ static struct expr *json_parse_range_expr(struct json_ctx *ctx, expr_free(expr_low); return NULL; } + if (is_symbol_value_expr(expr_low) && is_symbol_value_expr(expr_high)) { + tmp = symbol_range_expr_alloc(int_loc, + SYMBOL_VALUE, + expr_low->scope, + expr_low->identifier, + expr_high->identifier); + expr_free(expr_low); + expr_free(expr_high); + return tmp; + } return range_expr_alloc(int_loc, expr_low, expr_high); } -- 2.49.0