Author: Stephan <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit