original_string: public function setIf(string $abstract, $concrete, bool $shared = false) : ContainerInterface
      {
          if (! $this->has($abstract)) {
              $this->set($abstract, $concrete, $shared);
          }
  
          return $this;
      }
code: public function setIf(string $abstract, $concrete, bool $shared = false) : ContainerInterface
      {
          if (! $this->has($abstract)) {
              $this->set($abstract, $concrete, $shared);
          }
  
          return $this;
      }
code_tokens: public function setIf ( string $ abstract , $ concrete , bool $ shared = false ) : ContainerInterface { if ( ! $ this -> has ( $ abstract ) ) { $ this -> set ( $ abstract , $ concrete , $ shared ) ; } return $ this ; }
docstring: Bind a new element to the container IF the element name not exists in the container.
  
  @param string         $abstract The alias name that will be used to call the element.
  @param string|closure $concrete The element class name, or an closure that makes the element.
  @param bool           $shared   Define if the element will be a singleton instance.
  
  @return ContainerInterface
docstring_tokens: Bind a new element to the container IF the element name not exists in the container .