1
0
forked from VimPlug/jedi

removed more unused methods from Array

This commit is contained in:
David Halter
2013-02-07 18:07:20 +01:00
parent f2451102c1
commit 0eeb1036ac

View File

@@ -817,9 +817,6 @@ class Statement(Simple):
token_iterator = enumerate(self.token_list) token_iterator = enumerate(self.token_list)
for i, tok_temp in token_iterator: for i, tok_temp in token_iterator:
#print 'tok', tok_temp, result #print 'tok', tok_temp, result
if isinstance(tok_temp, ListComprehension):
result.add_to_current_field(tok_temp)
continue
try: try:
token_type, tok, start_pos = tok_temp token_type, tok, start_pos = tok_temp
except TypeError: except TypeError:
@@ -1009,22 +1006,10 @@ class Array(Call):
parent=None, values=None): parent=None, values=None):
super(Array, self).__init__(None, arr_type, start_pos, parent_stmt, super(Array, self).__init__(None, arr_type, start_pos, parent_stmt,
parent) parent)
self.values = values if values else [] self.values = values if values else []
self.arr_el_pos = []
self.keys = [] self.keys = []
self.end_pos = None, None self.end_pos = None, None
def add_field(self, start_pos):
"""
Just add a new field to the values.
Each value has a sub-array, because there may be different tokens in
one array.
"""
self.arr_el_pos.append(start_pos)
self.statements.append([])
def add_statement(self, statement, is_key=False): def add_statement(self, statement, is_key=False):
"""Just add a new statement""" """Just add a new statement"""
statement.parent = self statement.parent = self
@@ -1033,29 +1018,6 @@ class Array(Call):
else: else:
self.values.append(statement) self.values.append(statement)
def add_to_current_field(self, tok):
""" Adds a token to the latest field (in content). """
if not self.values:
# An empty round brace is just a tuple, filled it is unnecessary.
if self.type == Array.TUPLE:
self.type = Array.NOARRAY
# Add the first field, this is done here, because if nothing
# gets added, the list is empty, which is also needed sometimes.
self.values.append([])
self.values[-1].append(tok)
def add_dictionary_key(self):
"""
Only used for dictionaries, automatically adds the tokens added by now
from the values to keys, because the parser works this way.
"""
if self.type in (Array.LIST, Array.TUPLE):
return # these are basically code errors, just ignore
self.keys.append(self.values.pop())
if self.type == Array.SET:
self.type = Array.DICT
self.values.append([])
def get_only_subelement(self): def get_only_subelement(self):
""" """
Returns the only element that an array contains. If it contains Returns the only element that an array contains. If it contains
@@ -1070,6 +1032,7 @@ class Array(Call):
""" """
This is not only used for calls on the actual object, but for This is not only used for calls on the actual object, but for
ducktyping, to invoke this function with anything as `self`. ducktyping, to invoke this function with anything as `self`.
TODO remove?
""" """
if isinstance(instance, Array): if isinstance(instance, Array):
if instance.type in types: if instance.type in types:
@@ -1080,13 +1043,14 @@ class Array(Call):
return len(self.values) return len(self.values)
def __getitem__(self, key): def __getitem__(self, key):
if self.type == self.DICT:
raise NotImplementedError('no dicts allowed, yet')
return self.values[key] return self.values[key]
def __iter__(self): def __iter__(self):
if self.type == self.DICT: if self.type == self.DICT:
return iter(zip(self.keys, self.values)) raise NotImplementedError('no dicts allowed, yet')
else: return iter(self.values)
return iter(self.values)
def get_code(self): def get_code(self):
def to_str(el): def to_str(el):