Пример #1
0
 protected void setReceiverAndMessage(Object receiver, ESMessage message)
 {
     this.receiver = receiver;
     this.message  = message;
     if (message == null)
     {
         ClassName   = receiver == null ? "UndefinedObject" : receiver.GetType().AssemblyQualifiedName;
         tag         = "MessageNotUnderstood";
         messageText = ClassName + " instances do not know how to respond to an unknown message.";
     }
     else
     {
         var messageClass = message.Class;
         if (messageClass == null)
         {
             ClassName   = receiver == null ? "UndefinedObject" : receiver.GetType().AssemblyQualifiedName;
             MemberName  = "<nil selector>";
             tag         = "MessageNotUnderstood";
             messageText = ClassName + " instances do not know how to respond to an unknown message.";
         }
         else
         {
             objectSpace = messageClass.ObjectSpace;
             var selector = message.Selector;
             MemberName  = selector == null ? "<nil selector>" : selector.PrimitiveValue;
             ClassName   = objectSpace.classOf(receiver).QualifiedName;
             tag         = objectSpace.symbolFor("MessageNotUnderstood");
             messageText = ClassName + " instances do not know how to respond to the message '" + MemberName + "'";
         }
     }
 }
Пример #2
0
 public MessageNotUnderstood(Object receiver, ESMessage message) : base()
 {
     setReceiverAndMessage(receiver, message);
 }