original_string: public function manual_grade($slot, $comment, $mark, $commentformat = null) {
          $qa = $this->get_question_attempt($slot);
          $qa->manual_grade($comment, $mark, $commentformat);
          $this->observer->notify_attempt_modified($qa);
      }
code: public function manual_grade($slot, $comment, $mark, $commentformat = null) {
          $qa = $this->get_question_attempt($slot);
          $qa->manual_grade($comment, $mark, $commentformat);
          $this->observer->notify_attempt_modified($qa);
      }
code_tokens: public function manual_grade ( $ slot , $ comment , $ mark , $ commentformat = null ) { $ qa = $ this -> get_question_attempt ( $ slot ) ; $ qa -> manual_grade ( $ comment , $ mark , $ commentformat ) ; $ this -> observer -> notify_attempt_modified ( $ qa ) ; }
docstring: Perform a manual grading action on a question attempt.
  @param int $slot the number used to identify this question within this usage.
  @param string $comment the comment being added to the question attempt.
  @param number $mark the mark that is being assigned. Can be null to just
  add a comment.
  @param int $commentformat one of the FORMAT_... constants. The format of $comment.
docstring_tokens: Perform a manual grading action on a question attempt .