original_string: protected function mergePasswordAndSalt($password, $salt)
      {
          if (empty($salt)) {
              return $password;
          }
  
          if (false !== strrpos($salt, '{') || false !== strrpos($salt, '}')) {
              throw new \InvalidArgumentException('Cannot use { or } in salt.');
          }
  
          return $password.'{'.$salt.'}';
      }
code: protected function mergePasswordAndSalt($password, $salt)
      {
          if (empty($salt)) {
              return $password;
          }
  
          if (false !== strrpos($salt, '{') || false !== strrpos($salt, '}')) {
              throw new \InvalidArgumentException('Cannot use { or } in salt.');
          }
  
          return $password.'{'.$salt.'}';
      }
code_tokens: protected function mergePasswordAndSalt ( $ password , $ salt ) { if ( empty ( $ salt ) ) { return $ password ; } if ( false !== strrpos ( $ salt , '{' ) || false !== strrpos ( $ salt , '}' ) ) { throw new \ InvalidArgumentException ( 'Cannot use { or } in salt.' ) ; } return $ password . '{' . $ salt . '}' ; }
docstring: Merges a password and a salt.
  
  @param string $password The password to be used
  @param string $salt     The salt to be used
  
  @return string a merged password and salt
  
  @throws \InvalidArgumentException
docstring_tokens: Merges a password and a salt .