summaryrefslogtreecommitdiffhomepage
path: root/src/parse.y
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2013-09-01 22:43:17 +0900
committertake_cheeze <[email protected]>2013-09-02 00:48:06 +0900
commit3d1fffbd6bce3a6f9a77af3116078574ce8d5fe9 (patch)
tree35d6c58a23442ca055671c3b9e34f736153bc4ec /src/parse.y
parentbc131350d416409220fd3294d2ffcea3ae73027d (diff)
downloadmruby-3d1fffbd6bce3a6f9a77af3116078574ce8d5fe9.tar.gz
mruby-3d1fffbd6bce3a6f9a77af3116078574ce8d5fe9.zip
support multiple filename in irep
Diffstat (limited to 'src/parse.y')
-rw-r--r--src/parse.y8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/parse.y b/src/parse.y
index bbad88949..9ebcd5d98 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -120,6 +120,7 @@ cons_gen(parser_state *p, node *car, node *cdr)
c->car = car;
c->cdr = cdr;
c->lineno = p->lineno;
+ c->filename = p->filename;
return c;
}
#define cons(a,b) cons_gen(p,(a),(b))
@@ -5179,6 +5180,13 @@ mrbc_partial_hook(mrb_state *mrb, mrbc_context *c, int (*func)(struct mrb_parser
c->partial_data = data;
}
+void
+mrb_parser_set_filename(struct mrb_parser_state* p, char const* f)
+{
+ p->filename = mrbc_filename(p->mrb, p->cxt, f);
+ p->lineno = 1;
+}
+
#ifdef ENABLE_STDIO
parser_state*
mrb_parse_file(mrb_state *mrb, FILE *f, mrbc_context *c)