def _doesNotUnderstand(self, w_selector, argcount, interp, receiver): arguments = self.pop_and_return_n(argcount) w_message_class = self.space.classtable["w_Message"] assert isinstance(w_message_class, model.W_PointersObject) s_message_class = w_message_class.as_class_get_shadow(self.space) w_message = s_message_class.new() w_message.store(self.space, 0, w_selector) w_message.store(self.space, 1, self.space.wrap_list(arguments)) self.pop() # The receiver, already known. if interp.space.headless.is_set(): primitives.exitFromHeadlessExecution(self, "doesNotUnderstand:", w_message) return self._sendSpecialSelector(interp, receiver, "doesNotUnderstand", [w_message])
def _doesNotUnderstand(self, w_selector, argcount, interp, receiver): arguments = self.pop_and_return_n(argcount) w_message_class = self.space.classtable["w_Message"] assert isinstance(w_message_class, model.W_PointersObject) s_message_class = w_message_class.as_class_get_shadow(self.space) w_message = s_message_class.new() w_message.store(self.space, 0, w_selector) w_message.store(self.space, 1, self.space.wrap_list(arguments)) self.pop() # The receiver, already known. try: if interp.space.headless.is_set(): primitives.exitFromHeadlessExecution(self, "doesNotUnderstand:", w_message) return self._sendSpecialSelector(interp, receiver, "doesNotUnderstand", [w_message]) except error.MethodNotFound: s_class = receiver.class_shadow(self.space) assert isinstance(s_class, ClassShadow) raise error.Exit("Missing doesNotUnderstand in hierarchy of %s" % s_class.getname())
def _doesNotUnderstand(self, w_selector, argcount, interp, receiver): arguments = self.pop_and_return_n(argcount) w_message_class = self.space.classtable["w_Message"] assert isinstance(w_message_class, model.W_PointersObject) s_message_class = w_message_class.as_class_get_shadow(self.space) w_message = s_message_class.new() w_message.store(self.space, 0, w_selector) w_message.store(self.space, 1, self.space.wrap_list(arguments)) self.pop() # The receiver, already known. try: if interp.space.headless.is_set(): primitives.exitFromHeadlessExecution(self, "doesNotUnderstand:", w_message) return self._sendSpecialSelector(interp, receiver, "doesNotUnderstand", [w_message]) except error.MethodNotFound: s_class = receiver.class_shadow(self.space) assert isinstance(s_class, ClassShadow) raise error.Exit("Missing doesNotUnderstand in hierarchy of %s" % s_class.getname())