1.1 --- a/translator.py Fri Feb 17 18:52:18 2017 +0100
1.2 +++ b/translator.py Fri Feb 17 19:46:39 2017 +0100
1.3 @@ -741,6 +741,8 @@
1.4 temp_subs = {
1.5 "<context>" : "__tmp_contexts",
1.6 "<set_context>" : "__tmp_contexts",
1.7 + "<private_context>" : "__tmp_private_context",
1.8 + "<set_private_context>" : "__tmp_private_context",
1.9 "<accessor>" : "__tmp_value",
1.10 "<target_accessor>" : "__tmp_target_value",
1.11 "<set_accessor>" : "__tmp_value",
1.12 @@ -750,6 +752,7 @@
1.13 op_subs = {
1.14 "<context>" : "__get_context",
1.15 "<set_context>" : "__set_context",
1.16 + "<set_private_context>" : "__set_private_context",
1.17 "<set_accessor>" : "__set_accessor",
1.18 "<set_target_accessor>" : "__set_target_accessor",
1.19 }
1.20 @@ -1374,11 +1377,11 @@
1.21 # Methods accessed via unidentified accessors are obtained.
1.22
1.23 elif function:
1.24 - self.record_temp("__tmp_contexts")
1.25 self.record_temp("__tmp_targets")
1.26
1.27 if context_required:
1.28 if have_access_context:
1.29 + self.record_temp("__tmp_contexts")
1.30 stages.append("__get_function(__tmp_contexts[%d], __tmp_targets[%d])" % (
1.31 self.function_target, self.function_target))
1.32 else:
1.33 @@ -1942,6 +1945,8 @@
1.34
1.35 # Add temporary variable usage details.
1.36
1.37 + if self.uses_temp(name, "__tmp_private_context"):
1.38 + self.writeline("__ref __tmp_private_context;")
1.39 if self.uses_temp(name, "__tmp_value"):
1.40 self.writeline("__ref __tmp_value;")
1.41 if self.uses_temp(name, "__tmp_target_value"):