1.1 --- a/simplify/ast.py Mon May 28 02:19:54 2007 +0200
1.2 +++ b/simplify/ast.py Tue May 29 02:47:40 2007 +0200
1.3 @@ -1763,10 +1763,22 @@
1.4
1.5 subprogram.code = [
1.6 StoreTemp(
1.7 + expr=left,
1.8 + index="left"
1.9 + ),
1.10 + StoreTemp(
1.11 + expr=right,
1.12 + index="right"
1.13 + ),
1.14 + StoreTemp(
1.15 expr=InvokeFunction(
1.16 binary,
1.17 - expr=LoadAttr(expr=left, name=left_name),
1.18 - args=[right],
1.19 + expr=LoadAttr(
1.20 + expr=LoadTemp(index="left"),
1.21 + name=left_name),
1.22 + args=[
1.23 + LoadTemp(index="right")
1.24 + ],
1.25 star=None,
1.26 dstar=None)
1.27 ),
1.28 @@ -1780,8 +1792,12 @@
1.29 StoreTemp(
1.30 expr=InvokeFunction(
1.31 binary,
1.32 - expr=LoadAttr(expr=right, name=right_name),
1.33 - args=[left],
1.34 + expr=LoadAttr(
1.35 + expr=LoadTemp(index="right"),
1.36 + name=right_name),
1.37 + args=[
1.38 + LoadTemp(index="left")
1.39 + ],
1.40 star=None,
1.41 dstar=None)
1.42 ),
1.43 @@ -1827,8 +1843,8 @@
1.44
1.45 # Make nice annotations for the viewer.
1.46
1.47 - binary._left_call = subprogram.code[0].expr
1.48 - binary._right_call = subprogram.code[1].body[1].expr
1.49 + binary._left_call = subprogram.code[2].expr
1.50 + binary._right_call = subprogram.code[3].body[1].expr
1.51
1.52 return result
1.53
1.54 @@ -1849,13 +1865,21 @@
1.55 self.current_subprograms.append(subprogram)
1.56
1.57 subprogram.code = [
1.58 + StoreTemp(
1.59 + expr=left,
1.60 + index="left"
1.61 + ),
1.62 + StoreTemp(
1.63 + expr=right,
1.64 + index="right"
1.65 + ),
1.66 Try(binary, 1,
1.67 body=[
1.68 ReturnFromBlock(
1.69 expr=InvokeFunction(
1.70 binary,
1.71 - expr=LoadAttr(expr=left, name=left_name),
1.72 - args=[right],
1.73 + expr=LoadAttr(expr=LoadTemp(index="left"), name=left_name),
1.74 + args=[LoadTemp(index="right")],
1.75 star=None,
1.76 dstar=None)
1.77 )
1.78 @@ -1869,8 +1893,8 @@
1.79 ReturnFromBlock(
1.80 expr=InvokeFunction(
1.81 binary,
1.82 - expr=LoadAttr(expr=right, name=right_name),
1.83 - args=[left],
1.84 + expr=LoadAttr(expr=LoadTemp(index="right"), name=right_name),
1.85 + args=[LoadTemp(index="left")],
1.86 star=None,
1.87 dstar=None)
1.88 )
1.89 @@ -1892,8 +1916,8 @@
1.90
1.91 # Make nice annotations for the viewer.
1.92
1.93 - binary._left_call = subprogram.code[0].body[0].expr
1.94 - binary._right_call = subprogram.code[0].handler[0].body[0].expr
1.95 + binary._left_call = subprogram.code[2].body[0].expr
1.96 + binary._right_call = subprogram.code[2].handler[0].body[0].expr
1.97
1.98 return result
1.99