1.1 --- a/micropython/trans.py Tue Jul 05 00:40:32 2011 +0200
1.2 +++ b/micropython/trans.py Sat Jul 16 22:15:56 2011 +0200
1.3 @@ -45,13 +45,13 @@
1.4
1.5 self.new_op(MakeInstance(n + 1))
1.6
1.7 - def make_exception(self, name, node):
1.8 + def make_exception(self, name):
1.9
1.10 "Make an exception of the given 'name' using 'node'."
1.11
1.12 # NOTE: Reserving an attribute.
1.13
1.14 - self.make_instance(self.get_builtin_class(name, node), 1)
1.15 + self.make_instance(self.get_builtin_class(name), 1)
1.16
1.17 # Name-related methods.
1.18
1.19 @@ -66,20 +66,17 @@
1.20
1.21 "Generate an instruction loading 'name' for the given 'node'."
1.22
1.23 - self.new_op(LoadAddress(self.get_builtin(name, node)))
1.24 + self.new_op(LoadAddress(self.get_builtin(name)))
1.25
1.26 - def get_builtin_class(self, name, node):
1.27 + def get_builtin_class(self, name):
1.28
1.29 - "Return the built-in class with the given 'name' for the given 'node'."
1.30 + "Return the built-in class with the given 'name'."
1.31
1.32 - return self.get_builtin(name, node).get_value()
1.33 + return self.get_builtin(name).get_value()
1.34
1.35 def get_builtin(self, name, node):
1.36
1.37 - """
1.38 - Return the built-in module definition for the given 'name', used by the
1.39 - given 'node'.
1.40 - """
1.41 + "Return the built-in module definition for the given 'name'."
1.42
1.43 if self.builtins is not None:
1.44 try:
1.45 @@ -165,7 +162,7 @@
1.46
1.47 # Where the type is inappropriate, raise an exception.
1.48
1.49 - self.make_exception("TypeError", node)
1.50 + self.make_exception("TypeError")
1.51 self.new_op(StoreException())
1.52 self.new_op(RaiseException())
1.53
1.54 @@ -210,7 +207,7 @@
1.55 if attrname == "__class__":
1.56 if isinstance(target, Class):
1.57 if AddressInstruction is LoadAddress:
1.58 - self.replace_active_value(LoadAddress(self.get_builtin("type", node)))
1.59 + self.replace_active_value(LoadAddress(self.get_builtin("type")))
1.60 return
1.61 else:
1.62 raise TranslateError("Assigning to __class__ is not permitted.")
1.63 @@ -791,7 +788,7 @@
1.64 self.new_op(DropFrame())
1.65 self.new_op(LoadResultIntoValue())
1.66
1.67 - self.make_exception("TypeError", node)
1.68 + self.make_exception("TypeError")
1.69 self.new_op(StoreException())
1.70 self.new_op(RaiseException())
1.71
1.72 @@ -1003,7 +1000,7 @@
1.73 dynamic = function.is_dynamic()
1.74
1.75 if dynamic:
1.76 - self.make_instance(self.get_builtin_class("function", function), len(attr_to_default))
1.77 + self.make_instance(self.get_builtin_class("function"), len(attr_to_default))
1.78 temp = self.get_temp()
1.79
1.80 for attr, default in attr_to_default:
1.81 @@ -1077,7 +1074,7 @@
1.82 raise TranslateError("Module has no attribute %r." % name)
1.83
1.84 elif scope == "builtins":
1.85 - self.new_op(AddressInstruction(self.get_builtin(name, node)))
1.86 + self.new_op(AddressInstruction(self.get_builtin(name)))
1.87
1.88 else:
1.89 # NOTE: This may happen because a class attribute is optimised away.
1.90 @@ -1212,7 +1209,7 @@
1.91
1.92 # Reserve space for the elements themselves.
1.93
1.94 - self.make_instance(self.get_builtin_class("tuple", node), len(node.nodes))
1.95 + self.make_instance(self.get_builtin_class("tuple"), len(node.nodes))
1.96 temp = self.get_temp()
1.97
1.98 # Store using 0-based index values.
1.99 @@ -1236,7 +1233,7 @@
1.100
1.101 # Reserve space for _elements (the fragment reference).
1.102
1.103 - self.make_instance(self.get_builtin_class("list", node), 1)
1.104 + self.make_instance(self.get_builtin_class("list"), 1)
1.105 list_temp = self.get_temp()
1.106 self.new_op(list_temp)
1.107 self.new_op(StoreAttr(Attr(0, None, None))) # _elements is at position 0