MessageSend.java

/**
* Copyright 2010,2021 Nikolas S Boyd.
Permission is granted to copy this work provided this copyright statement is retained in all copies.

*/
package Hoot.Behaviors;

import Hoot.Runtime.Functions.*;
import Hoot.Runtime.Faces.*;
import Hoot.Runtime.Values.*;
import Hoot.Runtime.Blocks.*;
import Smalltalk.Core.*;
import Smalltalk.Blocks.*;
import Smalltalk.Magnitudes.*;
import Hoot.Magnitudes.*;
import Hoot.Magnitudes.Integer;
import Hoot.Magnitudes.Character;
import Hoot.Magnitudes.Float;
import Hoot.Magnitudes.Double;
import Hoot.Collections.*;
import Hoot.Collections.String;
import Hoot.Runtime.Behaviors.Call;
import Smalltalk.Core.Subject;

public class MessageSend extends Message implements Call
{

  private Object receiver;

  /**
   * @return 
   */
  @Override public   java.lang.String methodName()
  {
    java.lang.String exitID = "MessageSend>>methodName";
    Frame f0 = new Frame(exitID);
    return (java.lang.String)this.selector().name();
  }

  /**
   * @return 
   */
  @Override public   java.util.List<java.lang.Object> argumentValues()
  {
    java.lang.String exitID = "MessageSend>>argumentValues";
    Frame f0 = new Frame(exitID);
    return (java.util.List<java.lang.Object>)this.argumentList();
  }

  /**
   * @return 
   */
  @Override public   Subject receiver()
  {
    java.lang.String exitID = "MessageSend>>receiver";
    Frame f0 = new Frame(exitID);
    return (Subject)receiver;
  }

  /**
   * @return 
   */
  public   Object perform()
  {
    java.lang.String exitID = "MessageSend>>perform";
    Frame f0 = new Frame(exitID);
    return (Object)this.callMethod();
  }

  /**
   * 
   */
  public    MessageSend(final Object aReceiver, final Selector methodSelector, final Subject ... methodArguments)
  {
    super(methodSelector, methodArguments);
    java.lang.String exitID = "MessageSend>>MessageSend";
    Frame f0 = new Frame(exitID);
     receiver = aReceiver;
  }
}