summaryrefslogtreecommitdiff
path: root/node_classes.py
diff options
context:
space:
mode:
authorSylvain Thénault <sylvain.thenault@logilab.fr>2011-01-11 14:53:00 +0100
committerSylvain Thénault <sylvain.thenault@logilab.fr>2011-01-11 14:53:00 +0100
commit1617a8ea349cebaaa98505b3c0c6c3f3e39768f7 (patch)
tree61d1a2ce805e59878310951a85f113ce6e213e0c /node_classes.py
parent9681d89e058a30969f6d568a71a7dd69bd289df6 (diff)
downloadastroid-git-1617a8ea349cebaaa98505b3c0c6c3f3e39768f7.tar.gz
fix building from living object: content of container should be turned into ast nodes
Diffstat (limited to 'node_classes.py')
-rw-r--r--node_classes.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/node_classes.py b/node_classes.py
index 918f5672..b16ad3df 100644
--- a/node_classes.py
+++ b/node_classes.py
@@ -485,7 +485,8 @@ class Dict(NodeNG, Instance):
if items == None:
self.items = []
else:
- self.items = items
+ self.items = [(const_factory(k), const_factory(v))
+ for k,v in items.iteritems()]
def pytype(self):
return '__builtin__.dict'
@@ -660,7 +661,7 @@ class List(NodeNG, Instance, ParentAssignTypeMixin):
if elts == None:
self.elts = []
else:
- self.elts = elts
+ self.elts = [const_factory(e) for e in elts]
def pytype(self):
return '__builtin__.list'
@@ -723,7 +724,12 @@ class Return(Statement):
class Set(NodeNG, Instance, ParentAssignTypeMixin):
"""class representing a Set node"""
_astng_fields = ('elts',)
- elts = None
+
+ def __init__(self, elts=None):
+ if elts is None:
+ self.elts = []
+ else:
+ self.elts = [const_factory(e) for e in elts]
def pytype(self):
return '__builtin__.set' # XXX __builtin__ vs builtins
@@ -805,7 +811,7 @@ class Tuple(NodeNG, Instance, ParentAssignTypeMixin):
if elts == None:
self.elts = []
else:
- self.elts = elts
+ self.elts = [const_factory(e) for e in elts]
def pytype(self):
return '__builtin__.tuple'