1.1 --- a/optimiser.py Fri Oct 14 23:17:51 2016 +0200
1.2 +++ b/optimiser.py Fri Oct 14 23:24:51 2016 +0200
1.3 @@ -373,19 +373,17 @@
1.4 assigning = not traversed and not attrnames and final_method == "assign"
1.5
1.6 # Set the context if already available.
1.7 +
1.8 + if context == "original-accessor":
1.9 + emit(("set_context", original_accessor))
1.10 + accessor = "context"
1.11 + elif context == "base":
1.12 + emit(("set_context", base))
1.13 + accessor = "context"
1.14 +
1.15 # Assigning does not set the context.
1.16
1.17 - if not assigning:
1.18 - if context == "original-accessor":
1.19 - emit(("set_context", original_accessor))
1.20 - accessor = "context"
1.21 - elif context == "base":
1.22 - emit(("set_context", base))
1.23 - accessor = "context"
1.24 - elif context == "final-accessor" or access_first_attribute:
1.25 - emit(("set_accessor", original_accessor))
1.26 - accessor = "accessor"
1.27 - else:
1.28 + elif context in ("final-accessor", "unset"):
1.29 emit(("set_accessor", original_accessor))
1.30 accessor = "accessor"
1.31