original_string: function buildAbsolute(): string
      {
          $output = '';
  
          if ($this->host === null) {
              throw new IncompleteUrlException('No host specified');
          }
  
          // scheme
          if ($this->scheme !== null) {
              $output .= $this->scheme;
              $output .= '://';
          } else {
              // protocol-relative
              $output .= '//';
          }
  
          // host, port
          $output .= $this->getFullHost();
  
          // ensure a forward slash between host and a non-empty path
          if ($this->path !== '' && $this->path[0] !== '/') {
              $output .= '/';
          }
  
          // path, query, fragment
          $output .= $this->buildRelative();
  
          return $output;
      }
code: function buildAbsolute(): string
      {
          $output = '';
  
          if ($this->host === null) {
              throw new IncompleteUrlException('No host specified');
          }
  
          // scheme
          if ($this->scheme !== null) {
              $output .= $this->scheme;
              $output .= '://';
          } else {
              // protocol-relative
              $output .= '//';
          }
  
          // host, port
          $output .= $this->getFullHost();
  
          // ensure a forward slash between host and a non-empty path
          if ($this->path !== '' && $this->path[0] !== '/') {
              $output .= '/';
          }
  
          // path, query, fragment
          $output .= $this->buildRelative();
  
          return $output;
      }
code_tokens: function buildAbsolute ( ) : string { $ output = '' ; if ( $ this -> host === null ) { throw new IncompleteUrlException ( 'No host specified' ) ; } // scheme if ( $ this -> scheme !== null ) { $ output .= $ this -> scheme ; $ output .= '://' ; } else { // protocol-relative $ output .= '//' ; } // host, port $ output .= $ this -> getFullHost ( ) ; // ensure a forward slash between host and a non-empty path if ( $ this -> path !== '' && $ this -> path [ 0 ] !== '/' ) { $ output .= '/' ; } // path, query, fragment $ output .= $ this -> buildRelative ( ) ; return $ output ; }
docstring: Build an absolute URL
  
  @throws IncompleteUrlException if no host is specified
docstring_tokens: Build an absolute URL