original_string: public function setContainerClass(string $containerClass)
      {
          if (!\class_exists($containerClass)
              || (
                  $containerClass !== DIContainer::class
                  && !\is_subclass_of($containerClass, DIContainer::class)
              )
          ) {
              throw new \InvalidArgumentException(
                  \sprintf('class "%s" must extend %s', $containerClass, DIContainer::class)
              );
          }
  
          $this->containerClass = $containerClass;
  
          return $this;
      }
code: public function setContainerClass(string $containerClass)
      {
          if (!\class_exists($containerClass)
              || (
                  $containerClass !== DIContainer::class
                  && !\is_subclass_of($containerClass, DIContainer::class)
              )
          ) {
              throw new \InvalidArgumentException(
                  \sprintf('class "%s" must extend %s', $containerClass, DIContainer::class)
              );
          }
  
          $this->containerClass = $containerClass;
  
          return $this;
      }
code_tokens: public function setContainerClass ( string $ containerClass ) { if ( ! \ class_exists ( $ containerClass ) || ( $ containerClass !== DIContainer :: class && ! \ is_subclass_of ( $ containerClass , DIContainer :: class ) ) ) { throw new \ InvalidArgumentException ( \ sprintf ( 'class "%s" must extend %s' , $ containerClass , DIContainer :: class ) ) ; } $ this -> containerClass = $ containerClass ; return $ this ; }
docstring: Set container class.
  
  @param string $containerClass
  
  @throws \InvalidArgumentException
  
  @return static
docstring_tokens: Set container class .