diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-08-15 11:49:40 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-08-15 11:49:40 +0000 |
commit | 92ca6c7773101a425bdc721cf56b281f08d64222 (patch) | |
tree | 9408c24c5129fa6075d02c69ce6c05ec04e3bf90 /parse.y | |
parent | b604386fad8d7b26df87efd19134b3a6ac171fb3 (diff) |
* eval.c (ruby_current_node) : added to set sourceline on demand.
* eval.c (error_pos, error_print, rb_longjmp, assign): set source
file/line.
* eval.c (rb_eval): store current node instead of file/line, and
preserve it at return.
* eval.c (module_setup): ditto.
* eval.c (struct thread): store node instead of file/line.
* eval.c (rb_thread_raise): ditto.
* intern.h (ruby_current_node): added.
* intern.h (ruby_set_current_source): added.
* parse.y (stmt, arg): not fix position of assignment.
* parse.y (node_assign): ditto.
* parse.y (yycompile): clear current node.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -475,7 +475,6 @@ stmt : kALIAS fitem {lex_state = EXPR_FNAME;} fitem $$ = $1; $$->nd_value = call_op(gettable(vid),$2,1,$3); } - fixpos($$, $3); } else { $$ = 0; @@ -842,7 +841,6 @@ arg : lhs '=' arg $$ = $1; $$->nd_value = call_op(gettable(vid),$2,1,$3); } - fixpos($$, $3); } else { $$ = 0; @@ -2372,6 +2370,7 @@ yycompile(f, line) lex_strterm = 0; lex_strnest = 0; quoted_term = -1; + ruby_current_node = 0; ruby_sourcefile = rb_source_filename(f); ruby_in_compile = 1; n = yyparse(); @@ -4738,7 +4737,6 @@ node_assign(lhs, rhs) break; } - if (rhs) fixpos(lhs, rhs); return lhs; } |