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)
def inject_generator_object(poe, obj, *args): return poe.execution._retrieve_or_capture( obj, lambda _: GeneratorObject(obj, *args))
def create_generator_object(_): gobject = GeneratorObject(generator, definition, sargs, callable) save_generator_inside(gobject, generator) return gobject