original_string: public static function compare(Version $a, Version $b)
      {
          $aValues = $a->numeric();
          $bValues = $b->numeric();
  
          foreach (array_keys(self::$ordinality) as $key) {
              $aVal = $aValues[$key];
              $bVal = $bValues[$key];
  
              if ($aVal < $bVal) {
                  return -1;
              } elseif ($aVal > $bVal) {
                  return 1;
              }
          }
          return 0;
      }
code: public static function compare(Version $a, Version $b)
      {
          $aValues = $a->numeric();
          $bValues = $b->numeric();
  
          foreach (array_keys(self::$ordinality) as $key) {
              $aVal = $aValues[$key];
              $bVal = $bValues[$key];
  
              if ($aVal < $bVal) {
                  return -1;
              } elseif ($aVal > $bVal) {
                  return 1;
              }
          }
          return 0;
      }
code_tokens: public static function compare ( Version $ a , Version $ b ) { $ aValues = $ a -> numeric ( ) ; $ bValues = $ b -> numeric ( ) ; foreach ( array_keys ( self :: $ ordinality ) as $ key ) { $ aVal = $ aValues [ $ key ] ; $ bVal = $ bValues [ $ key ] ; if ( $ aVal < $ bVal ) { return - 1 ; } elseif ( $ aVal > $ bVal ) { return 1 ; } } return 0 ; }
docstring: Comparator for version objects
  
  @param Version $a
  @param Version $b
  @return int
docstring_tokens: Comparator for version objects