code: protected function buildTableRow($row, $keys, $rowKey)
      {
          $str = '';
          $values = $this->debug->methodTable->keyValues($row, $keys, $objInfo);
          $parsed = $this->debug->utilities->parseTag($this->dump($rowKey));
          $str .= '<tr>';
          $str .= $this->debug->utilities->buildTag(
              'th',
              array(
                  'class' => 't_key text-right '.$parsed['attribs']['class'],
                  'scope' => 'row',
              ),
              $parsed['innerhtml']
          );
          if ($objInfo['row']) {
              $str .= $this->markupClassname($objInfo['row']['className'], 'td', array(
                  'title' => $objInfo['row']['phpDoc']['summary'] ?: null,
              ));
              $this->tableInfo['haveObjRow'] = true;
          } else {
              $str .= '<td class="t_classname"></td>';
          }
          foreach ($values as $v) {
              $str .= $this->dump($v, true, 'td');
          }
          $str .= '</tr>'."\n";
          $str = \str_replace(' title=""', '', $str);
          foreach (\array_keys($this->tableInfo['totals']) as $k) {
              $this->tableInfo['totals'][$k] += $values[$k];
          }
          foreach ($objInfo['cols'] as $k2 => $classname) {
              if ($this->tableInfo['colClasses'][$k2] === false) {
                  // column values not of the same type
                  continue;
              }
              if ($this->tableInfo['colClasses'][$k2] === null) {
                  $this->tableInfo['colClasses'][$k2] = $classname;
              }
              if ($this->tableInfo['colClasses'][$k2] !== $classname) {
                  $this->tableInfo['colClasses'][$k2] = false;
              }
          }
          return $str;
      }
docs: Returns table row
  
  @param mixed $row    should be array or abstraction
  @param array $keys   column keys
  @param array $rowKey row key
  
  @return string