code: private function isValidLanguageConstruct(Tokens $tokens, Token $docsToken, $languageConstructIndex)
      {
          static $languageStructures = [
              T_LIST,
              T_PRINT,
              T_ECHO,
              CT::T_DESTRUCTURING_SQUARE_BRACE_OPEN,
          ];
  
          if (!$tokens[$languageConstructIndex]->isGivenKind($languageStructures)) {
              return false;
          }
  
          $endKind = $tokens[$languageConstructIndex]->isGivenKind(CT::T_DESTRUCTURING_SQUARE_BRACE_OPEN)
              ? [CT::T_DESTRUCTURING_SQUARE_BRACE_CLOSE]
              : ')'
          ;
  
          $endIndex = $tokens->getNextTokenOfKind($languageConstructIndex, [$endKind]);
  
          $docsContent = $docsToken->getContent();
  
          for ($index = $languageConstructIndex + 1; $index < $endIndex; ++$index) {
              $token = $tokens[$index];
  
              if ($token->isGivenKind(T_VARIABLE) && false !== strpos($docsContent, $token->getContent())) {
                  return true;
              }
          }
  
          return false;
      }
docs: Checks variable assignments through `list()`, `print()` etc. calls for correct docblock usage.
  
  @param Tokens $tokens
  @param Token  $docsToken              docs Token
  @param int    $languageConstructIndex index of variable Token
  
  @return bool