# call

- NAME( EXPRESSION, ...)
  This form causes the method to be called on the current object. The call operates as it does in an expression position, except that if a value is returned, this value is not used.
- EXPRESSION`.`NAME( EXPRESSION, ...)
  This form causes the method to be called with respect to the given object. The call operates as it does in an expression position, except that if a value is returned, this value is not used.
- `super.`NAME( EXPRESSION, ...)
  This form causes the method, with this name, of the super class to be called.
- NAME( EXPRESSION, ...)
  This form causes the method to be called on the current object. The expressions following the name are evaluated from left to right and passed in to the method as its arguments. The number and types of the arguments must match from the method's declaration. These values replace the argument names in the body of the method, and the result of the body is the result of this expression.
- EXPRESSION`.`NAME( EXPRESSION, ...)
  This form causes the method named to be called with respect to the given object, provided that the class of the given expression has such a method. The expressions following the name are evaluated from left to right and passed in to the method as its arguments. The number and types of the arguments must match from the method's declaration. These values replace the argument names in the body of the method, and the result of the body is the result of this expression.
- `super.`NAME( EXPRESSION ...)
  This form causes the method, with this name, of the super class to be called. The expressions following the name are evaluated from left to right and passed in to the method as its arguments. The number and types of the arguments must match from the method's declaration. These values replace the argument names in the body of the method, and the result of the body is the result of this expression.

ProfessorJ Intermediate Language