1
0
forked from VimPlug/jedi

Start using arrays.

This commit is contained in:
Dave Halter
2014-10-21 11:05:12 +02:00
parent 718f43431c
commit fb2ef5a7a0
3 changed files with 7 additions and 7 deletions

View File

@@ -189,7 +189,7 @@ class Evaluator(object):
elif isinstance(atom, pr.Literal):
return [compiled.create(self, atom.eval())]
else:
raise NotImplementedError
return iterable.Array(self, atom.children[1])
def eval_trailer(self, types, trailer):
trailer_op, node = trailer.children[:2]

View File

@@ -124,9 +124,9 @@ class Array(use_metaclass(CachedMetaClass, IterableWrapper)):
Used as a mirror to pr.Array, if needed. It defines some getter
methods which are important in this module.
"""
def __init__(self, evaluator, array):
def __init__(self, evaluator, array_node):
self._evaluator = evaluator
self._array = array
self._array_node = array_node
@property
def name(self):
@@ -216,13 +216,15 @@ class Array(use_metaclass(CachedMetaClass, IterableWrapper)):
return getattr(self._array, name)
def __iter__(self):
return iter(self._array)
if pr.is_node(self._array_node, 'testlist_comp'):
return iter(self._array_node.children[::2])
raise NotImplementedError
def __len__(self):
return len(self._array)
def __repr__(self):
return "<e%s of %s>" % (type(self).__name__, self._array)
return "<e%s of %s>" % (type(self).__name__, self._array_node)
class MergedArray(Array):

View File

@@ -194,8 +194,6 @@ class Parser(object):
allows using different grammars (even non-Python). However, error
recovery is purely written for Python.
"""
print(self.stack)
#import pdb; pdb.set_trace()
if value == '\n': # Statement is not finished.
# Now remove the whole statement.
for i, (dfa, state, node) in reversed(list(enumerate(self.stack))):