Author: Stephan <step...@stzal.com> Branch: Changeset: r322:dad77daeb611 Date: 2012-12-21 18:45 +0100 http://bitbucket.org/pypy/lang-js/changeset/dad77daeb611/
Log: removed Interpreter.run_file diff --git a/js/builtins_interpreter.py b/js/builtins_interpreter.py --- a/js/builtins_interpreter.py +++ b/js/builtins_interpreter.py @@ -20,8 +20,10 @@ @w_return def js_load(this, args): from js.object_space import object_space + from js.interpreter import load_file filename = args[0].to_string() - object_space.interpreter.run_file(str(filename)) + src = load_file(str(filename)) + object_space.interpreter.run_src(src) @w_return diff --git a/js/interpreter.py b/js/interpreter.py --- a/js/interpreter.py +++ b/js/interpreter.py @@ -2,16 +2,9 @@ def load_file(filename): - from js.astbuilder import parse_to_ast - from runistr import decode_str_utf8 - f = open_file_as_stream(str(filename)) src = f.readall() - usrc = decode_str_utf8(src) - assert usrc is not None - ast = parse_to_ast(usrc) - f.close() - return ast + return src class InterpreterConfig(object): @@ -38,10 +31,6 @@ object_space.assign_proto(self.global_object) - def run_file(self, filename): - ast = load_file(filename) - return self.run_ast(ast) - def run_ast(self, ast): symbol_map = ast.symbol_map diff --git a/js/py-js.py b/js/py-js.py --- a/js/py-js.py +++ b/js/py-js.py @@ -19,18 +19,26 @@ def run(files, opts): - from js.interpreter import Interpreter + from js.interpreter import Interpreter, load_file interactive = len(files) == 0 inspect = opts.get('inspect', False) interp = Interpreter(opts) - for f in files: + for filename in files: + src = load_file(filename) + try: - interp.run_file(f) + interp.run_src(src) + except ParseError as exc: + printsyntaxerror(unicode(filename), exc, src) + raise SystemExit + except LexerError as e: + printlexererror(unicode(filename), e, src) + raise SystemExit except JsException as e: - printerrormessage(unicode(f), e._msg()) + printerrormessage(unicode(filename), e._msg()) raise SystemExit if inspect or interactive: diff --git a/js/test/ecma/conftest.py b/js/test/ecma/conftest.py --- a/js/test/ecma/conftest.py +++ b/js/test/ecma/conftest.py @@ -1,7 +1,7 @@ import pytest import py -from js.interpreter import Interpreter +from js.interpreter import Interpreter, load_file from _pytest.runner import Failed from js.jsobj import _w from js.execution import JsException @@ -222,8 +222,10 @@ def f(testfile): interp = Interpreter({'no-exception-jseval': True}) - interp.run_file(str(shellpath)) - interp.run_file(testfile) + shell_src = load_file(str(shellpath)) + interp.run_src(shell_src) + test_src = load_file(testfile) + interp.run_src(test_src) global_object = interp.global_object testcases = global_object.get(u'testcases') _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit