Fix issues with docstrings.

This commit is contained in:
Dave Halter
2014-12-03 20:30:03 +01:00
parent f1431cef40
commit 1725abb1fd
3 changed files with 7 additions and 4 deletions

View File

@@ -201,6 +201,9 @@ class Evaluator(object):
# `x if foo else y` case.
return (self.eval_element(element.children[0]) +
self.eval_element(element.children[-1]))
elif element.type == 'operator':
# Must be an ellipsis, other operators are not evaluated.
return [] # Ignore for now.
elif element.type == 'dotted_name':
types = self._eval_atom(element.children[0])
for next_name in element.children[2::2]:

View File

@@ -128,8 +128,8 @@ def _evaluate_for_statement_string(evaluator, string, module):
string = 'import %s\n' % element + string
p = Parser(evaluator.grammar, code % indent_block(string))
pseudo_cls = p.module.subscopes[0]
try:
pseudo_cls = p.module.subscopes[0]
stmt = pseudo_cls.statements[-1]
except IndexError:
return []
@@ -161,7 +161,7 @@ def _execute_array_values(evaluator, array):
values = []
for typ in array.values():
objects = _execute_array_values(evaluator, typ)
values.append([AlreadyEvaluated(objects)])
values.append(AlreadyEvaluated(objects))
return [FakeSequence(evaluator, values, array.type)]
else:
return evaluator.execute(array)

View File

@@ -335,8 +335,8 @@ class FakeSequence(_FakeArray):
return self._sequence_values
def get_exact_index_types(self, index):
return list(chain.from_iterable(self._evaluator.eval_element(v)
for v in self._sequence_values[index]))
value = self._sequence_values[index]
return self._evaluator.eval_element(value)
class AlreadyEvaluated(frozenset):