code: public function isArrayMultiLine($index)
      {
          if (!$this->isArray($index)) {
              throw new \InvalidArgumentException(sprintf('Not an array at given index %d.', $index));
          }
  
          $tokens = $this->tokens;
  
          // Skip only when its an array, for short arrays we need the brace for correct
          // level counting
          if ($tokens[$index]->isGivenKind(T_ARRAY)) {
              $index = $tokens->getNextMeaningfulToken($index);
          }
  
          $endIndex = $tokens[$index]->equals('(')
              ? $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $index)
              : $tokens->findBlockEnd(Tokens::BLOCK_TYPE_ARRAY_SQUARE_BRACE, $index)
          ;
  
          for (++$index; $index < $endIndex; ++$index) {
              $token = $tokens[$index];
              $blockType = Tokens::detectBlockType($token);
  
              if ($blockType && $blockType['isStart']) {
                  $index = $tokens->findBlockEnd($blockType['type'], $index);
  
                  continue;
              }
  
              if (
                  $token->isWhitespace() &&
                  !$tokens[$index - 1]->isGivenKind(T_END_HEREDOC) &&
                  false !== strpos($token->getContent(), "\n")
              ) {
                  return true;
              }
          }
  
          return false;
      }
docs: Check if the array at index is multiline.
  
  This only checks the root-level of the array.
  
  @param int $index
  
  @return bool