1.1 --- a/micropython/report.py Tue Jul 10 00:38:33 2012 +0200
1.2 +++ b/micropython/report.py Tue Jul 10 00:54:42 2012 +0200
1.3 @@ -976,7 +976,8 @@
1.4
1.5 # Expression-related helper methods.
1.6
1.7 - def _visitBitBinary(self, node, name, symbol):
1.8 + def _visitBitBinary(self, node, symbol):
1.9 + name = operator_functions[node.__class__.__name__]
1.10 self._span_start(name)
1.11 first = 1
1.12 for node in node.nodes:
1.13 @@ -986,14 +987,16 @@
1.14 first = 0
1.15 self._span_end()
1.16
1.17 - def _visitBinary(self, node, name, symbol):
1.18 + def _visitBinary(self, node, symbol):
1.19 + name = operator_functions[node.__class__.__name__]
1.20 self._span_start(name)
1.21 self.dispatch(node.left)
1.22 self._op(symbol, name, 1)
1.23 self.dispatch(node.right)
1.24 self._span_end()
1.25
1.26 - def _visitUnary(self, node, name, symbol):
1.27 + def _visitUnary(self, node, symbol):
1.28 + name = operator_functions[node.__class__.__name__]
1.29 self._span_start(name)
1.30 self._op(symbol, name, trailing=0)
1.31 self.dispatch(node.expr)
1.32 @@ -1002,7 +1005,7 @@
1.33 # Expressions.
1.34
1.35 def visitAdd(self, node):
1.36 - self._visitBinary(node, "add", "+")
1.37 + self._visitBinary(node, "+")
1.38
1.39 def visitAnd(self, node):
1.40 self._span_start("and")
1.41 @@ -1053,13 +1056,13 @@
1.42 self._span_end()
1.43
1.44 def visitBitand(self, node):
1.45 - self._visitBitBinary(node, "bitand", "&")
1.46 + self._visitBitBinary(node, "&")
1.47
1.48 def visitBitor(self, node):
1.49 - self._visitBitBinary(node, "bitor", "|")
1.50 + self._visitBitBinary(node, "|")
1.51
1.52 def visitBitxor(self, node):
1.53 - self._visitBitBinary(node, "bitxor", "^")
1.54 + self._visitBitBinary(node, "^")
1.55
1.56 def visitCallFunc(self, node):
1.57 self._span_start("callfunc")
1.58 @@ -1109,10 +1112,10 @@
1.59 self._span_end()
1.60
1.61 def visitDiv(self, node):
1.62 - self._visitBinary(node, "div", "/")
1.63 + self._visitBinary(node, "/")
1.64
1.65 def visitFloorDiv(self, node):
1.66 - self._visitBinary(node, "floordiv", "//")
1.67 + self._visitBinary(node, "//")
1.68
1.69 def visitGetattr(self, node):
1.70 possible_types = self.possible_accessor_types(node, defining_users=0)
1.71 @@ -1181,7 +1184,7 @@
1.72 self._span_end()
1.73
1.74 def visitInvert(self, node):
1.75 - self._visitUnary(node, "invert", "~")
1.76 + self._visitUnary(node, "~")
1.77
1.78 def visitKeyword(self, node):
1.79 self._span_start("keyword-arg")
1.80 @@ -1207,7 +1210,7 @@
1.81 self._span_end()
1.82
1.83 def visitLeftShift(self, node):
1.84 - self._visitBinary(node, "lshift", "<<")
1.85 + self._visitBinary(node, "<<")
1.86
1.87 visitList = visitAssList
1.88
1.89 @@ -1243,10 +1246,10 @@
1.90 self._span_end()
1.91
1.92 def visitMod(self, node):
1.93 - self._visitBinary(node, "mod", "%")
1.94 + self._visitBinary(node, "%")
1.95
1.96 def visitMul(self, node):
1.97 - self._visitBinary(node, "mul", "*")
1.98 + self._visitBinary(node, "*")
1.99
1.100 def visitName(self, node):
1.101 if hasattr(node, "_scope"):
1.102 @@ -1277,10 +1280,10 @@
1.103 self._span_end()
1.104
1.105 def visitPower(self, node):
1.106 - self._visitBinary(node, "pow", "**")
1.107 + self._visitBinary(node, "**")
1.108
1.109 def visitRightShift(self, node):
1.110 - self._visitBinary(node, "rshift", ">>")
1.111 + self._visitBinary(node, ">>")
1.112
1.113 def visitSlice(self, node):
1.114 self._span_start("slice")
1.115 @@ -1305,7 +1308,7 @@
1.116 self._span_end()
1.117
1.118 def visitSub(self, node):
1.119 - self._visitBinary(node, "sub", "-")
1.120 + self._visitBinary(node, "-")
1.121
1.122 def visitSubscript(self, node):
1.123 self._span_start("subscript")
1.124 @@ -1323,10 +1326,10 @@
1.125 visitTuple = visitAssTuple
1.126
1.127 def visitUnaryAdd(self, node):
1.128 - self._visitUnary(node, "add", "+")
1.129 + self._visitUnary(node, "+")
1.130
1.131 def visitUnarySub(self, node):
1.132 - self._visitUnary(node, "sub", "-")
1.133 + self._visitUnary(node, "-")
1.134
1.135 # Output preparation methods.
1.136