Пример #1
0
 def __init__(self, frame, anchor, target, src1, src2):
     self.frame = frame
     self.anchor = anchor
     self.target = target
     self.types1 = CompoundTypeNode()
     self.types2 = CompoundTypeNode()
     CompoundTypeNode.__init__(self)
     src1.connect(self.recv1)
     src2.connect(self.recv2)
     return
Пример #2
0
 def __init__(self, parent, expt):
   self.received = set()
   self.reraise = False
   self.var = CompoundTypeNode()
   if expt:
     self.expt = CompoundTypeNode()
     expt.connect(self.recv_expt)
   else:
     self.expt = None
   ExecutionFrame.__init__(self, parent, None)
   return
Пример #3
0
 def __init__(self, typeobj, items=None, key=None, value=None):
     if items != None:
         assert key == None and value == None
         self.key = CompoundTypeNode(k for (k, v) in items)
         self.value = CompoundTypeNode(v for (k, v) in items)
     else:
         self.key = CompoundTypeNode(key)
         self.value = CompoundTypeNode(value)
     self.default = CompoundTypeNode([NoneType.get_object()])
     self.value.connect(self.default.recv)
     self.iter = None
     BuiltinAggregateObject.__init__(self, typeobj)
     return
Пример #4
0
 def process_args_nokwd(self, frame, anchor, args):
     checker = TypeChecker(frame, [NumberType.get_typeobj()], 'arg 0')
     args[0].connect(checker.recv)
     checker = TypeChecker(frame, [NumberType.get_typeobj()], 'arg 1')
     args[1].connect(checker.recv)
     obj = CompoundTypeNode(args)
     return TupleType.create_tuple([obj, obj])
Пример #5
0
 def __init__(self, typeobj, elemall=None):
     self.elemall = CompoundTypeNode()
     if elemall:
         elemall.connect(self.elemall.recv)
     self.iter = None
     BuiltinAggregateObject.__init__(self, typeobj)
     return
Пример #6
0
 def __init__(self, frame, anchor, tupobj, nelements, strict=True):
     self.tupobj = tupobj
     self.elements = [CompoundTypeNode() for _ in xrange(nelements)]
     self.strict = strict
     self.received = set()
     ExpressionNode.__init__(self, frame, anchor)
     self.tupobj.connect(self.recv_tupobj)
     return
Пример #7
0
 def process_args_nokwd(self, frame, anchor, args):
     checker = TypeChecker(frame, [NumberType.get_typeobj()], 'arg 0')
     args[0].connect(checker.recv)
     checker = TypeChecker(frame, [NumberType.get_typeobj()], 'arg 1')
     args[1].connect(checker.recv)
     if 3 <= len(args):
         checker = TypeChecker(frame, [NumberType.get_typeobj()], 'arg 2')
         args[2].connect(checker.recv)
     return CompoundTypeNode(args)
Пример #8
0
 def __init__(self, typeobj, elemall=None, elements=None):
     IterObject.__init__(self, typeobj, elemall=elemall)
     self.sent = CompoundTypeNode()
     if elements:
         for obj in elements:
             if isinstance(obj, GeneratorSlot):
                 self.sent.connect(obj.received.recv)
             obj.connect(self.elemall.recv)
     return
Пример #9
0
 def call(self, frame, anchor, args, kwargs):
     if kwargs:
         frame.raise_expt(ErrorConfig.NoKeywordArgs())
         return UndefinedTypeNode.get_object()
     elems = [CompoundTypeNode() for arg1 in args]
     zipelem = TupleType.create_tuple(elements=elems)
     seq = ListType.create_list(elemall=zipelem)
     for (i, arg1) in enumerate(args):
         IterElement(frame, anchor, arg1).connect(elems[i].recv)
     return seq
Пример #10
0
 def __init__(self, name, bases):
   self.name = name
   self.bases = bases
   self.attrs = {}
   self.boundmethods = {}
   self.frames = set()
   BuiltinType.__init__(self)
   self.klasses = CompoundTypeNode(bases+[self])
   self.instance = InstanceObject(self)
   return
Пример #11
0
 def __init__(self, frame, anchor, seq, initial):
     self.frame = frame
     self.anchor = anchor
     self.received = set()
     self.elem = IterElement(frame, anchor, seq)
     self.result = CompoundTypeNode()
     if initial:
         initial.connect(self.result.recv)
     else:
         self.elem.connect(self.result.recv)
     CompoundTypeNode.__init__(self, [self.result])
     IterElement(frame, anchor, seq).connect(self.recv_elem)
     return
Пример #12
0
 def call(self, frame, anchor, args, kwargs):
     if kwargs:
         frame.raise_expt(ErrorConfig.NoKeywordArgs())
         return UndefinedTypeNode.get_object()
     retobj = CompoundTypeNode()
     if len(args) == 1:
         IterElement(frame, anchor, args[0]).connect(retobj.recv)
     else:
         for arg1 in args:
             arg1.connect(retobj.recv)
     if 'key' in kwargs:
         IterFuncChecker(frame, anchor, retobj, kwargs['key'])
     return retobj
Пример #13
0
 def __init__(self, frame, anchor, target, fcmp, fkey):
     self.frame = frame
     self.anchor = anchor
     self.target = target
     self.received_fkey = set()
     self.received_fcmp = set()
     self.key = CompoundTypeNode()
     CompoundTypeNode.__init__(self)
     if fkey:
         fkey.connect(self.recv_fkey)
     else:
         target.elemall.connect(self.key.recv)
     if fcmp:
         fcmp.connect(self.recv_fcmp)
     return
Пример #14
0
 def __init__(self, dictobj, name):
     self.dictobj = dictobj
     self.found = CompoundTypeNode([dictobj.value])
     BuiltinConstMethod.__init__(self, name, self.found, [ANY], [ANY])
     return
Пример #15
0
 def __init__(self, value):
     self.received = CompoundTypeNode()
     CompoundTypeNode.__init__(self, [value])
     return
Пример #16
0
 def __init__(self, typeobj, elements=None, elemall=None):
     self.elements = elements
     if elements != None:
         elemall = CompoundTypeNode(elements)
     BuiltinSequenceObject.__init__(self, typeobj, elemall)
     return