code: private function getCompareFixableInfo(Tokens $tokens, $index, $yoda)
      {
          $left = $this->getLeftSideCompareFixableInfo($tokens, $index);
          $right = $this->getRightSideCompareFixableInfo($tokens, $index);
  
          if ($yoda) {
              $expectedAssignableSide = $right;
              $expectedValueSide = $left;
          } else {
              if ($tokens[$tokens->getNextMeaningfulToken($right['end'])]->equals('=')) {
                  return null;
              }
  
              $expectedAssignableSide = $left;
              $expectedValueSide = $right;
          }
  
          if (
              // variable cannot be moved to expected side
              !(
                  !$this->isVariable($tokens, $expectedAssignableSide['start'], $expectedAssignableSide['end'], false)
                  && !$this->isListStatement($tokens, $expectedAssignableSide['start'], $expectedAssignableSide['end'])
                  && $this->isVariable($tokens, $expectedValueSide['start'], $expectedValueSide['end'], false)
              )
              // variable cannot be moved to expected side (strict mode)
              && !(
                  $this->configuration['always_move_variable']
                  && !$this->isVariable($tokens, $expectedAssignableSide['start'], $expectedAssignableSide['end'], true)
                  && !$this->isListStatement($tokens, $expectedAssignableSide['start'], $expectedAssignableSide['end'])
                  && $this->isVariable($tokens, $expectedValueSide['start'], $expectedValueSide['end'], true)
              )
          ) {
              return null;
          }
  
          return [
              'left' => $left,
              'right' => $right,
          ];
      }
docs: @param Tokens $tokens
  @param int    $index
  @param bool   $yoda
  
  @return null|array