Author: Stephan <step...@stzal.com> Branch: Changeset: r334:7c7a58b2bf0b Date: 2013-01-08 17:21 +0100 http://bitbucket.org/pypy/lang-js/changeset/7c7a58b2bf0b/
Log: re-organized builtins diff --git a/js/astbuilder.py b/js/astbuilder.py --- a/js/astbuilder.py +++ b/js/astbuilder.py @@ -218,8 +218,8 @@ return operations.IntNumber(pos, int(node.additional_info, 8)) def string(self, node): - from operations import string_unquote - from runistr import unicode_unescape, decode_str_utf8 + from js.operations import string_unquote + from js.runistr import unicode_unescape, decode_str_utf8 # TODO decode utf-8 pos = self.get_pos(node) @@ -717,7 +717,7 @@ def parse_to_ast(code): #assert isinstance(code, unicode) from js.jsparser import parse - from runistr import encode_unicode_utf8 + from js.runistr import encode_unicode_utf8 src = encode_unicode_utf8(code) parse_tree = parse(src) ast = parse_tree_to_ast(parse_tree) diff --git a/js/baseop.py b/js/baseop.py --- a/js/baseop.py +++ b/js/baseop.py @@ -6,7 +6,7 @@ from pypy.rlib.rarithmetic import ovfcheck from pypy.rlib.rfloat import isnan, isinf -from js.builtins_number import w_NAN, w_POSITIVE_INFINITY, w_NEGATIVE_INFINITY +from js.builtins.number import w_NAN, w_POSITIVE_INFINITY, w_NEGATIVE_INFINITY import math diff --git a/js/builtins.py b/js/builtins/__init__.py rename from js/builtins.py rename to js/builtins/__init__.py --- a/js/builtins.py +++ b/js/builtins/__init__.py @@ -48,10 +48,10 @@ put_property(global_object, u'Function', w_Function) # 15.3.4 Properties of the Function Prototype Object - import js.builtins_function as function_builtins from js.functions import JsNativeFunction - empty_func = JsNativeFunction(function_builtins.empty, u'Empty') + import js.builtins.function + empty_func = JsNativeFunction(js.builtins.function.empty, u'Empty') w_FunctionPrototype = object_space.new_func(empty_func) object_space.assign_proto(w_FunctionPrototype, object_space.proto_object) object_space.proto_function = w_FunctionPrototype @@ -75,13 +75,13 @@ # 14.2.4.1 Object.prototype.constructor put_property(w_ObjectPrototype, u'constructor', w_Object) - import js.builtins_object as object_builtins + import js.builtins.object # 15.2.4.2 Object.prototype.toString() - put_native_function(w_ObjectPrototype, u'toString', object_builtins.to_string) - put_native_function(w_ObjectPrototype, u'toLocaleString', object_builtins.to_string) + put_native_function(w_ObjectPrototype, u'toString', js.builtins.object.to_string) + put_native_function(w_ObjectPrototype, u'toLocaleString', js.builtins.object.to_string) # 15.2.4.3 Object.prototype.valueOf() - put_native_function(w_ObjectPrototype, u'valueOf', object_builtins.value_of) + put_native_function(w_ObjectPrototype, u'valueOf', js.builtins.object.value_of) # 15.3 Function Objects # 15.3.3 Properties of the Function Constructor @@ -95,38 +95,35 @@ # 14.3.4.1 Function.prototype.constructor put_property(w_FunctionPrototype, u'constructor', w_Function) - import js.builtins_function as function_builtins - # 15.3.4.2 Function.prototype.toString() - put_native_function(w_FunctionPrototype, u'toString', function_builtins.to_string) + put_native_function(w_FunctionPrototype, u'toString', js.builtins.function.to_string) # 15.3.4.3 Function.prototype.apply - put_intimate_function(w_FunctionPrototype, u'apply', function_builtins.js_apply) + put_intimate_function(w_FunctionPrototype, u'apply', js.builtins.function.js_apply) # 15.3.4.4 Function.prototype.call - put_intimate_function(w_FunctionPrototype, u'call', function_builtins.js_call) + put_intimate_function(w_FunctionPrototype, u'call', js.builtins.function.js_call) - import js.builtins_boolean - js.builtins_boolean.setup(global_object) + import js.builtins.boolean + js.builtins.boolean.setup(global_object) - import js.builtins_number - js.builtins_number.setup(global_object) + import js.builtins.number + js.builtins.number.setup(global_object) - import js.builtins_string - js.builtins_string.setup(global_object) + import js.builtins.string + js.builtins.string.setup(global_object) - import js.builtins_array - js.builtins_array.setup(global_object) + import js.builtins.array + js.builtins.array.setup(global_object) - #Math - import js.builtins_math - js.builtins_math.setup(global_object) + import js.builtins.js_math + js.builtins.js_math.setup(global_object) - import js.builtins_date - js.builtins_date.setup(global_object) + import js.builtins.date + js.builtins.date.setup(global_object) - import js.builtins_global - js.builtins_global.setup(global_object) + import js.builtins.js_global + js.builtins.js_global.setup(global_object) def get_arg(args, index, default=w_Undefined): diff --git a/js/builtins_array.py b/js/builtins/array.py rename from js/builtins_array.py rename to js/builtins/array.py diff --git a/js/builtins_boolean.py b/js/builtins/boolean.py rename from js/builtins_boolean.py rename to js/builtins/boolean.py diff --git a/js/builtins_date.py b/js/builtins/date.py rename from js/builtins_date.py rename to js/builtins/date.py diff --git a/js/builtins_function.py b/js/builtins/function.py rename from js/builtins_function.py rename to js/builtins/function.py diff --git a/js/builtins_interpreter.py b/js/builtins/interpreter.py rename from js/builtins_interpreter.py rename to js/builtins/interpreter.py diff --git a/js/builtins_global.py b/js/builtins/js_global.py rename from js/builtins_global.py rename to js/builtins/js_global.py --- a/js/builtins_global.py +++ b/js/builtins/js_global.py @@ -8,8 +8,8 @@ def setup(global_object): from js.builtins import put_intimate_function, put_native_function, put_property - from js.builtins_number import w_NAN - from js.builtins_number import w_POSITIVE_INFINITY + from js.builtins.number import w_NAN + from js.builtins.number import w_POSITIVE_INFINITY from js.jsobj import w_Undefined from pypy.rlib.objectmodel import we_are_translated @@ -183,7 +183,7 @@ # 15.1.2.3 @w_return def parse_float(this, args): - from runistr import encode_unicode_utf8 + from js.runistr import encode_unicode_utf8 from js.constants import num_lit_rexp string = get_arg(args, 0) @@ -222,7 +222,7 @@ return from pypy.rlib.rstring import UnicodeBuilder - from runistr import encode_unicode_utf8 + from js.runistr import encode_unicode_utf8 builder = UnicodeBuilder() for arg in args[:-1]: diff --git a/js/builtins_math.py b/js/builtins/js_math.py rename from js/builtins_math.py rename to js/builtins/js_math.py diff --git a/js/builtins_number.py b/js/builtins/number.py rename from js/builtins_number.py rename to js/builtins/number.py diff --git a/js/builtins_object.py b/js/builtins/object.py rename from js/builtins_object.py rename to js/builtins/object.py diff --git a/js/builtins_string.py b/js/builtins/string.py rename from js/builtins_string.py rename to js/builtins/string.py diff --git a/js/interpreter.py b/js/interpreter.py --- a/js/interpreter.py +++ b/js/interpreter.py @@ -17,8 +17,7 @@ def __init__(self, config={}): from js.jsobj import W_GlobalObject from js.object_space import object_space - import js.builtins - import js.builtins_interpreter + import js.builtins.interpreter self.config = InterpreterConfig(config) self.global_object = W_GlobalObject() @@ -26,7 +25,7 @@ object_space.interpreter = self js.builtins.setup_builtins(self.global_object) - js.builtins_interpreter.setup_builtins(self.global_object) + js.builtins.interpreter.setup_builtins(self.global_object) object_space.assign_proto(self.global_object) @@ -40,7 +39,7 @@ def run_src(self, src): from js.astbuilder import parse_to_ast - from runistr import decode_str_utf8 + from js.runistr import decode_str_utf8 ast = parse_to_ast(decode_str_utf8(src)) return self.run_ast(ast) diff --git a/js/jsobj.py b/js/jsobj.py --- a/js/jsobj.py +++ b/js/jsobj.py @@ -1042,8 +1042,8 @@ return True def ToNumber(self): - from js.builtins_global import _strip - from runistr import encode_unicode_utf8 + from js.builtins.js_global import _strip + from js.runistr import encode_unicode_utf8 from js.constants import hex_rexp, oct_rexp, num_rexp u_strval = self._strval_ @@ -1067,7 +1067,7 @@ return float(num_lit) - from builtins_global import _parse_int + from js.builtins.js_global import _parse_int match_data = hex_rexp.match(s) if match_data is not None: diff --git a/test/test_helpers.py b/test/test_helpers.py --- a/test/test_helpers.py +++ b/test/test_helpers.py @@ -1,13 +1,12 @@ -import py - def test_string_match_chars(): - from js.builtins_global import _string_match_chars + from js.builtins.js_global import _string_match_chars assert _string_match_chars(u'abccab', u'abc') is True assert _string_match_chars(u'ABCcba', u'abc') is True assert _string_match_chars(u'2921', u'0123456789') is True assert _string_match_chars(u'abcdabcd', u'abc') is False assert _string_match_chars(u'29x21', u'0123456789') is False + def test_unescape(): from js import runistr assert runistr.unicode_unescape(u'\\u0041B\\u0043') == u'ABC' diff --git a/test/test_w_string.py b/test/test_w_string.py --- a/test/test_w_string.py +++ b/test/test_w_string.py @@ -11,7 +11,7 @@ def test_isspace(): - from js.builtins_global import _strip + from js.builtins.js_global import _strip assert _strip(u' ') == u'' assert _strip(u' ') == u'' assert _strip(u' \t\t\r\n ') == u'' _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit