dict literals are now working (at least the parser)

This commit is contained in:
Dave Halter
2014-03-05 18:46:38 +01:00
parent 387319fde5
commit 1f7e4ca637
3 changed files with 10 additions and 11 deletions

View File

@@ -43,7 +43,7 @@ class CompiledObject(Base):
self.doc = inspect.getdoc(obj)
def __repr__(self):
return '<%s: %s>' % (type(self).__name__, self.obj)
return '<%s: %s>' % (type(self).__name__, repr(self.obj))
def get_parent_until(self, *args, **kwargs):
# compiled modules only use functions and classes/methods (2 levels)

View File

@@ -1058,9 +1058,8 @@ isinstance(c, (tokenize.Token, Operator)) else unicode(c)
names_are_set_vars=False):
stmt, tok = parse_stmt(token_iterator, allow_comma=True,
added_breaks=added_breaks)
if not stmt:
return None, tok
if stmt is not None:
for t in stmt._token_list:
if isinstance(t, Name):
t.parent = stmt

View File

@@ -132,11 +132,11 @@ a = [a if 1.0 else '' for a in [1] if [1.0]]
a[0]
# with a dict literal
#? int()
[a for a,b in {1:2}.items()][0]
#? str()
{a:b for a,b in {1:'a', 3:1.0}.items()}[1]
[a for a in {1:'x'}][0]
##? str()
{a-1:b for a,b in {1:'a', 3:1.0}.items()}[0]
# -----------------
# nested list comprehensions