original_string: public function setLogger($logger = null)
      {
          if ($logger !== null && !($logger instanceof Mustache_Logger || is_a($logger, 'Psr\\Log\\LoggerInterface'))) {
              throw new Mustache_Exception_InvalidArgumentException('Expected an instance of Mustache_Logger or Psr\\Log\\LoggerInterface.');
          }
  
          $this->logger = $logger;
      }
code: public function setLogger($logger = null)
      {
          if ($logger !== null && !($logger instanceof Mustache_Logger || is_a($logger, 'Psr\\Log\\LoggerInterface'))) {
              throw new Mustache_Exception_InvalidArgumentException('Expected an instance of Mustache_Logger or Psr\\Log\\LoggerInterface.');
          }
  
          $this->logger = $logger;
      }
code_tokens: public function setLogger ( $ logger = null ) { if ( $ logger !== null && ! ( $ logger instanceof Mustache_Logger || is_a ( $ logger , 'Psr\\Log\\LoggerInterface' ) ) ) { throw new Mustache_Exception_InvalidArgumentException ( 'Expected an instance of Mustache_Logger or Psr\\Log\\LoggerInterface.' ) ; } $ this -> logger = $ logger ; }
docstring: Set a logger instance.
  
  @param Mustache_Logger|Psr\Log\LoggerInterface $logger
docstring_tokens: Set a logger instance .