wiki.techinc.nl/includes/diff/DiffOpChange.php
Thiemo Kreuz f383e7c548 diff: Fix and update type hints in DiffOp classes
This patch adds and updates documentation. The most significant
changes are:
* getOrig() and getClosing() can return false. However, this is
  only possible for add and remove operations. These have only
  one side.
* The constructors of the subclasses are not meant to accept
  false, and are in fact never called with false. For the same
  reason. Only add and remove operations are allowed to miss
  one of the two sides.

Change-Id: I9f45f34945e0297e1ea8d3e8ff9e9c53e60e7706
2021-06-18 08:17:54 +00:00

54 lines
1.5 KiB
PHP

<?php
/**
* A PHP diff engine for phpwiki. (Taken from phpwiki-1.3.3)
*
* Copyright © 2000, 2001 Geoffrey T. Dairiki <dairiki@dairiki.org>
* You may copy this code freely under the conditions of the GPL.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
* @ingroup DifferenceEngine
*/
/**
* Extends DiffOp. Used to mark strings that have been
* changed from the first string array (both added and subtracted).
*
* @internal
* @ingroup DifferenceEngine
*/
class DiffOpChange extends DiffOp {
/** @inheritDoc */
public $type = 'change';
/**
* @param string[] $orig
* @param string[] $closing
*/
public function __construct( $orig, $closing ) {
$this->orig = $orig;
$this->closing = $closing;
}
/**
* @return DiffOpChange
*/
public function reverse() {
return new DiffOpChange( $this->closing, $this->orig );
}
}