示例#1
0
 def create_serialized_object(self, obj):
     # Generator object has been passed as a value. We don't have enough
     # information to create a complete GeneratorObject instance here, so
     # we create a stub to be activated later.
     if isinstance(obj, types.GeneratorType):
         return GeneratorObject(obj)
     user_object = self.create_serialized_user_object(obj)
     if user_object:
         return user_object
     elif is_immutable(obj):
         return ImmutableObject(obj)
     elif is_sequence(obj):
         return SequenceObject(obj, self.serialize)
     elif is_mapping(obj):
         return MapObject(obj, self.serialize)
     elif is_builtin_exception(obj):
         return BuiltinException(obj, self.serialize)
     elif is_library_object(obj):
         return LibraryObject(obj, self.serialize)
     else:
         return UnknownObject(obj)
示例#2
0
def inject_generator_object(poe, obj, *args):
    return poe.execution._retrieve_or_capture(
        obj, lambda _: GeneratorObject(obj, *args))
示例#3
0
 def create_generator_object(_):
     gobject = GeneratorObject(generator, definition, sargs,
                               callable)
     save_generator_inside(gobject, generator)
     return gobject