diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-01-27 11:12:16 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-01-27 11:12:16 -0500 |
commit | 730469c7a96a26ecba362db39c67e97bd07bf157 (patch) | |
tree | 65603b6d164132d0e7dc125ebbb3a93989b9a94f /package.c | |
parent | abfea518adf24b5f2a6245ba37e068bfe97152ce (diff) |
#include
Diffstat (limited to 'package.c')
-rw-r--r-- | package.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -1053,6 +1053,17 @@ static bool export_stmt(Exporter *ex, Statement *s) { if (!export_expr(ex, &s->ret.expr)) return false; } break; + case STMT_INCLUDE: + if (s->flags & STMT_TYPED) { + export_len(ex, arr_len(s->inc.stmts)); + arr_foreach(s->inc.stmts, Statement, sub) + if (!export_stmt(ex, sub)) + return false; + } else { + if (!export_expr(ex, &s->inc.filename)) + return false; + } + break; } return true; } @@ -1068,6 +1079,15 @@ static void import_stmt(Importer *im, Statement *s) { case STMT_DECL: import_decl(im, &s->decl); break; + case STMT_INCLUDE: + if (s->flags & STMT_TYPED) { + import_arr(im, &s->inc.stmts); + arr_foreach(s->inc.stmts, Statement, sub) + import_stmt(im, sub); + } else { + import_expr(im, &s->inc.filename); + } + break; case STMT_RET: s->ret.flags = import_u8(im); if (s->ret.flags & RET_HAS_EXPR) |