Coverage for /pythoncovmergedfiles/medio/medio/src/underscore/underscore/assignment_manager.py: 95%
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
Shortcuts on this page
r m x toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# Copyright (c) 2013 Huan Do, http://huan.do
3import ast
5from utils import value_of, \
6 VALUE_FUNC
8class AssignmentManager(object):
9 def __init__(self):
10 self.aliases = {}
11 self.assignments = {}
13 def get_assign_node(self):
14 target_elts = []
15 value_elts = []
16 for name, node in sorted(self.assignments.items()):
17 target_elts.append(ast.Name(id=name, ctx=ast.Store()))
18 value_elts.append(node)
19 return ast.Assign(targets=[ast.Tuple(elts=target_elts)],
20 value=ast.Tuple(elts=value_elts))
22 def add_assignment(self, left_name, right_node):
23 val = value_of(right_node)
24 self.aliases[val] = left_name
25 self.assignments[left_name] = right_node
27 def get_new_name(self, old_name):
28 return self.aliases.get(old_name)