forked from VimPlug/jedi
fix __repr__ functions
This commit is contained in:
@@ -710,10 +710,17 @@ class Statement(Simple):
|
|||||||
return list(result)
|
return list(result)
|
||||||
|
|
||||||
def get_code(self, new_line=True):
|
def get_code(self, new_line=True):
|
||||||
|
code = ''
|
||||||
|
for c in self.get_assignment_calls():
|
||||||
|
if isinstance(c, Call):
|
||||||
|
code += c.get_code()
|
||||||
|
else:
|
||||||
|
code += c
|
||||||
|
|
||||||
if new_line:
|
if new_line:
|
||||||
return self.code + '\n'
|
return code + '\n'
|
||||||
else:
|
else:
|
||||||
return self.code
|
return code
|
||||||
|
|
||||||
def get_set_vars(self):
|
def get_set_vars(self):
|
||||||
""" Get the names for the statement. """
|
""" Get the names for the statement. """
|
||||||
@@ -760,6 +767,8 @@ class Statement(Simple):
|
|||||||
else:
|
else:
|
||||||
is_key = maybe_dict and break_tok == ':'
|
is_key = maybe_dict and break_tok == ':'
|
||||||
arr.add_statement(stmt, is_key)
|
arr.add_statement(stmt, is_key)
|
||||||
|
if break_tok in closing_brackets:
|
||||||
|
break
|
||||||
if not arr.values and maybe_dict:
|
if not arr.values and maybe_dict:
|
||||||
# this is a really special case - empty brackets {} are
|
# this is a really special case - empty brackets {} are
|
||||||
# always dictionaries and not sets.
|
# always dictionaries and not sets.
|
||||||
@@ -775,7 +784,7 @@ class Statement(Simple):
|
|||||||
|
|
||||||
def parse_array_el(token_iterator, start_pos, maybe_dict=False):
|
def parse_array_el(token_iterator, start_pos, maybe_dict=False):
|
||||||
token_list = []
|
token_list = []
|
||||||
level = 0
|
level = 1
|
||||||
tok = None
|
tok = None
|
||||||
for i, tok_temp in token_iterator:
|
for i, tok_temp in token_iterator:
|
||||||
try:
|
try:
|
||||||
@@ -791,7 +800,7 @@ class Statement(Simple):
|
|||||||
elif tok in brackets.keys():
|
elif tok in brackets.keys():
|
||||||
level += 1
|
level += 1
|
||||||
|
|
||||||
if level == 0 and tok in closing_brackets + (',',):
|
if level == 0 and tok in closing_brackets or level == 1 and tok == ',':
|
||||||
break
|
break
|
||||||
token_list.append(tok_temp)
|
token_list.append(tok_temp)
|
||||||
|
|
||||||
@@ -854,10 +863,14 @@ class Statement(Simple):
|
|||||||
close_brackets = False
|
close_brackets = False
|
||||||
elif tok in brackets.keys():
|
elif tok in brackets.keys():
|
||||||
arr = parse_array(token_iterator, brackets[tok], start_pos)
|
arr = parse_array(token_iterator, brackets[tok], start_pos)
|
||||||
if result and (type(result[-1]) == Call or close_brackets):
|
if result and (isinstance(result[-1], Call) or close_brackets):
|
||||||
|
print 'x', arr
|
||||||
result[-1].set_execution(arr)
|
result[-1].set_execution(arr)
|
||||||
else:
|
else:
|
||||||
|
print arr
|
||||||
|
arr.parent = self
|
||||||
result.append(arr)
|
result.append(arr)
|
||||||
|
#print(tok, result)
|
||||||
close_brackets = True
|
close_brackets = True
|
||||||
elif tok == '.':
|
elif tok == '.':
|
||||||
close_brackets = False
|
close_brackets = False
|
||||||
@@ -866,7 +879,7 @@ class Statement(Simple):
|
|||||||
elif tok == ',': # implies a tuple
|
elif tok == ',': # implies a tuple
|
||||||
close_brackets = False
|
close_brackets = False
|
||||||
# rewrite `result`, because now the whole thing is a tuple
|
# rewrite `result`, because now the whole thing is a tuple
|
||||||
add_el = parse_array_el(iter(result), start_pos)
|
add_el, t = parse_array_el(enumerate(result), start_pos)
|
||||||
arr = parse_array(token_iterator, Array.TUPLE, start_pos,
|
arr = parse_array(token_iterator, Array.TUPLE, start_pos,
|
||||||
add_el)
|
add_el)
|
||||||
result = [arr]
|
result = [arr]
|
||||||
@@ -1038,12 +1051,6 @@ class Array(Call):
|
|||||||
return iter(self.values)
|
return iter(self.values)
|
||||||
|
|
||||||
def get_code(self):
|
def get_code(self):
|
||||||
def to_str(el):
|
|
||||||
try:
|
|
||||||
return el.get_code()
|
|
||||||
except AttributeError:
|
|
||||||
return str(el)
|
|
||||||
|
|
||||||
map = {Array.NOARRAY: '%s',
|
map = {Array.NOARRAY: '%s',
|
||||||
Array.TUPLE: '(%s)',
|
Array.TUPLE: '(%s)',
|
||||||
Array.LIST: '[%s]',
|
Array.LIST: '[%s]',
|
||||||
@@ -1051,17 +1058,15 @@ class Array(Call):
|
|||||||
Array.SET: '{%s}'
|
Array.SET: '{%s}'
|
||||||
}
|
}
|
||||||
inner = []
|
inner = []
|
||||||
for i, value in enumerate(self.values):
|
for i, stmt in enumerate(self.values):
|
||||||
s = ''
|
s = ''
|
||||||
try:
|
try:
|
||||||
key = self.keys[i]
|
key = self.keys[i]
|
||||||
except IndexError:
|
except IndexError:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
for el in key[i]:
|
s += key.get_code(new_line=False) + ': '
|
||||||
s += to_str(el)
|
s += stmt.get_code(new_line=False)
|
||||||
for el in value:
|
|
||||||
s += to_str(el)
|
|
||||||
inner.append(s)
|
inner.append(s)
|
||||||
return map[self.type] % ', '.join(inner)
|
return map[self.type] % ', '.join(inner)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user