1.1 --- a/simplify.py Mon Jul 24 22:34:30 2006 +0200
1.2 +++ b/simplify.py Tue Jul 25 23:03:11 2006 +0200
1.3 @@ -183,7 +183,7 @@
1.4
1.5 # Make a subprogram for the statement and record it outside the main tree.
1.6
1.7 - subprogram = Subprogram(name=hex(id(if_)), acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.8 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.9 self.current_subprograms.append(subprogram)
1.10
1.11 # In the subprogram, make conditionals for each test plus statement,
1.12 @@ -197,7 +197,7 @@
1.13 expr=LoadAttr(expr=self.dispatch(compare), name="__true__"),
1.14 args=[], star=None, dstar=None))
1.15
1.16 - body_subprogram = Subprogram(name=hex(id(stmt)), acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.17 + body_subprogram = Subprogram(name=None, acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.18 self.current_subprograms.append(body_subprogram)
1.19
1.20 body_subprogram.code = self.dispatch(stmt) + [Return()]
1.21 @@ -211,7 +211,7 @@
1.22 # Add the compound statement from any else clause to the end.
1.23
1.24 if if_.else_ is not None:
1.25 - else_subprogram = Subprogram(name=hex(id(if_.else_)), acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.26 + else_subprogram = Subprogram(name=None, acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.27 self.current_subprograms.append(else_subprogram)
1.28
1.29 else_subprogram.code = self.dispatch(if_.else_) + [Return()]
1.30 @@ -236,7 +236,7 @@
1.31
1.32 # Make a subprogram for the statement and record it outside the main tree.
1.33
1.34 - subprogram = Subprogram(name=hex(id(tryexcept)), acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.35 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.36 self.current_subprograms.append(subprogram)
1.37
1.38 # In the subprogram, make conditionals for each test plus statement,
1.39 @@ -293,7 +293,7 @@
1.40
1.41 # Make a subprogram for the expression and record it outside the main tree.
1.42
1.43 - subprogram = Subprogram(name=hex(id(compare)), acquire_locals=1, returns_value=1, params=[], star=None, dstar=None)
1.44 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=1, params=[], star=None, dstar=None)
1.45 self.current_subprograms.append(subprogram)
1.46
1.47 # In the subprogram, make instructions which invoke a method on the
1.48 @@ -337,7 +337,7 @@
1.49
1.50 # Make a subprogram for the expression and record it outside the main tree.
1.51
1.52 - subprogram = Subprogram(name=hex(id(and_)), acquire_locals=1, returns_value=1, params=[], star=None, dstar=None)
1.53 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=1, params=[], star=None, dstar=None)
1.54 self.current_subprograms.append(subprogram)
1.55
1.56 # In the subprogram, make instructions which store each operand, test
1.57 @@ -370,7 +370,7 @@
1.58
1.59 # Make a subprogram for the expression and record it outside the main tree.
1.60
1.61 - subprogram = Subprogram(name=hex(id(or_)), acquire_locals=1, returns_value=1, params=[], star=None, dstar=None)
1.62 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=1, params=[], star=None, dstar=None)
1.63 self.current_subprograms.append(subprogram)
1.64
1.65 # In the subprogram, make instructions which store each operand, test
1.66 @@ -592,14 +592,16 @@
1.67 # Invocation and subprogram transformations.
1.68
1.69 def visitClass(self, class_):
1.70 - structure = Class(name=hex(id(class_)), bases=class_.bases)
1.71 + structure = Class(name=class_.name, bases=self.dispatches(class_.bases))
1.72 self.structures.append(structure)
1.73
1.74 # Make a subprogram which initialises the class structure.
1.75
1.76 - subprogram = Subprogram(name=hex(id(class_)), structure=structure, params=[], star=None, dstar=None)
1.77 + subprogram = Subprogram(name=None, structure=structure, params=[], star=None, dstar=None)
1.78 self.current_subprograms.append(subprogram)
1.79
1.80 + # The class is initialised using the code found inside.
1.81 +
1.82 subprogram.code = self.dispatch(class_.code)
1.83
1.84 self.current_subprograms.pop()
1.85 @@ -655,7 +657,7 @@
1.86 # Make a subprogram for the function and record it outside the main
1.87 # tree.
1.88
1.89 - subprogram = Subprogram(name=hex(id(function)), returns_value=1, star=None, dstar=None)
1.90 + subprogram = Subprogram(name=function.name, returns_value=1, star=None, dstar=None)
1.91 self.current_subprograms.append(subprogram)
1.92 subprogram.code = self.dispatch(function.code)
1.93 self.current_subprograms.pop()
1.94 @@ -671,7 +673,7 @@
1.95 # Make a subprogram for the function and record it outside the main
1.96 # tree.
1.97
1.98 - subprogram = Subprogram(name=hex(id(lambda_)), returns_value=1, star=None, dstar=None)
1.99 + subprogram = Subprogram(name=None, returns_value=1, star=None, dstar=None)
1.100 self.current_subprograms.append(subprogram)
1.101 subprogram.code = [Return(expr=self.dispatch(lambda_.code))]
1.102 self.current_subprograms.pop()
1.103 @@ -695,7 +697,7 @@
1.104
1.105 # Make a subprogram for the block and record it outside the main tree.
1.106
1.107 - subprogram = Subprogram(name=hex(id(while_)), acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.108 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.109 self.current_subprograms.append(subprogram)
1.110
1.111 # Include a conditional statement in the subprogram.
1.112 @@ -727,7 +729,7 @@
1.113
1.114 # Make a subprogram for the block and record it outside the main tree.
1.115
1.116 - subprogram = Subprogram(name=hex(id(for_)), acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.117 + subprogram = Subprogram(name=None, acquire_locals=1, returns_value=0, params=[], star=None, dstar=None)
1.118 self.current_subprograms.append(subprogram)
1.119
1.120 if for_.else_ is not None: