diff options
Diffstat (limited to 'protocols.py')
-rw-r--r-- | protocols.py | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/protocols.py b/protocols.py index 28f17aec..3837a31a 100644 --- a/protocols.py +++ b/protocols.py @@ -332,48 +332,3 @@ nodes.With.ass_type = end_ass_type -# iteration protocol ########################################################## - -def const_itered(self): - if isinstance(self.value, basestring): - return self.value - raise TypeError() -nodes.Const.itered = const_itered - - -def tl_itered(self): - return self.elts -nodes.Tuple.itered = tl_itered -nodes.List.itered = tl_itered - - -def dict_itered(self): - return self.items[::2] -nodes.Dict.itered = dict_itered - - -# subscription protocol ####################################################### - -def const_getitem(self, index, context=None): - if isinstance(self.value, basestring): - return self.value[index] - raise TypeError() -nodes.Const.getitem = const_getitem - - -def tl_getitem(self, index, context=None): - return self.elts[index] -nodes.Tuple.getitem = tl_getitem -nodes.List.getitem = tl_getitem - - -def dict_getitem(self, key, context=None): - for i in xrange(0, len(self.items), 2): - for inferedkey in self.items[i].infer(context): - if inferedkey is YES: - continue - if isinstance(inferedkey, Const) and inferedkey.value == key: - return self.items[i+1] - raise IndexError(key) -nodes.Dict.getitem = dict_getitem - |