diff options
Diffstat (limited to 'src/runtime/c/pgf')
| -rw-r--r-- | src/runtime/c/pgf/expr.c | 15 | ||||
| -rw-r--r-- | src/runtime/c/pgf/expr.h | 6 |
2 files changed, 19 insertions, 2 deletions
diff --git a/src/runtime/c/pgf/expr.c b/src/runtime/c/pgf/expr.c index d579027aa..8b34421d9 100644 --- a/src/runtime/c/pgf/expr.c +++ b/src/runtime/c/pgf/expr.c @@ -840,7 +840,7 @@ pgf_read_expr(GuIn* in, GuPool* pool, GuExn* err) int pgf_read_expr_tuple(GuIn* in, - int n_exprs, PgfExpr exprs[], + size_t n_exprs, PgfExpr exprs[], GuPool* pool, GuExn* err) { GuPool* tmp_pool = gu_new_pool(); @@ -1332,6 +1332,19 @@ pgf_print_type(PgfType *type, PgfPrintContext* ctxt, int prec, } } +void +pgf_print_expr_tuple(size_t n_exprs, PgfExpr exprs[], PgfPrintContext* ctxt, + GuOut* out, GuExn* err) +{ + gu_putc('<', out, err); + for (size_t i = 0; i < n_exprs; i++) { + if (i > 0) + gu_putc(',', out, err); + pgf_print_expr(exprs[i], ctxt, 0, out, err); + } + gu_putc('>', out, err); +} + bool pgf_type_eq(PgfType* t1, PgfType* t2) { diff --git a/src/runtime/c/pgf/expr.h b/src/runtime/c/pgf/expr.h index 2e76bf21d..8dd1e0d44 100644 --- a/src/runtime/c/pgf/expr.h +++ b/src/runtime/c/pgf/expr.h @@ -160,7 +160,7 @@ pgf_read_expr(GuIn* in, GuPool* pool, GuExn* err); int pgf_read_expr_tuple(GuIn* in, - int n_exprs, PgfExpr exprs[], + size_t n_exprs, PgfExpr exprs[], GuPool* pool, GuExn* err); PgfType* @@ -206,4 +206,8 @@ void pgf_print_type(PgfType *type, PgfPrintContext* ctxt, int prec, GuOut* out, GuExn *err); +void +pgf_print_expr_tuple(size_t n_exprs, PgfExpr exprs[], PgfPrintContext* ctxt, + GuOut* out, GuExn* err); + #endif /* EXPR_H_ */ |
