Esempio n. 1
0
 def recv_target(self, src):
   for obj in src:
     if obj in self.received: continue
     self.received.add(obj)
     try:
       iterobj = obj.get_reversed(self.frame, self.anchor)
       frame1 = ExceptionCatcher(self.frame)
       frame1.add_handler(StopIterationType.get_typeobj())
       MethodCall(frame1, self.anchor, iterobj, 'next').connect(self.recv)
     except NodeTypeError:
       self.frame.raise_expt(ErrorConfig.NotIterable(obj))
   return
Esempio n. 2
0
 def recv_target(self, src):
     for obj in src:
         if obj in self.received: continue
         self.received.add(obj)
         try:
             iterobj = obj.get_reversed(self.frame, self.anchor)
             frame1 = ExceptionCatcher(self.frame)
             frame1.add_handler(StopIterationType.get_typeobj())
             MethodCall(frame1, self.anchor, iterobj,
                        'next').connect(self.recv)
         except NodeTypeError:
             self.frame.raise_expt(ErrorConfig.NotIterable(obj))
     return
Esempio n. 3
0
def IterElement(frame0, anchor, target):
    frame1 = ExceptionCatcher(frame0)
    frame1.add_handler(StopIterationType.get_typeobj())
    return MethodCall(frame1, anchor, IterRef(frame0, anchor, target), 'next')
Esempio n. 4
0
def IterElement(frame0, anchor, target):
  frame1 = ExceptionCatcher(frame0)
  frame1.add_handler(StopIterationType.get_typeobj())
  return MethodCall(frame1, anchor, IterRef(frame0, anchor, target), 'next')