Remove some deprecated methods from the Language class

The following methods and fields in the Language class, deprecated since
1.35, have been removed:
- findVariantLink()
- convertTitle()
- updateConversionTable()
- classFromCode()
- clearCaches()
- mConverter

Change-Id: I9281f37be3a374e072d6afde8f352138af13adbe
This commit is contained in:
daniel 2021-04-11 22:05:46 +02:00 committed by Ppchelko
parent c968e772e7
commit 1ae400bb93
3 changed files with 8 additions and 119 deletions

View file

@ -73,7 +73,14 @@ because of Phabricator reports.
=== Breaking changes in 1.37 ===
* WANObjectCache::HOLDOFF_NONE, deprecated since 1.35, was removed.
Use HOLDOFF_TTL_NONE instead.
* …
* The following methods and fields in the Language class, deprecated since
1.35, have been removed:
- classFromCode()
- clearCaches()
- convertTitle()
- findVariantLink()
- mConverter
- updateConversionTable()
=== Deprecations in 1.37 ===
* JobQueue::getWiki, deprecated in 1.33, now emits deprecation warnings.

View file

@ -28,7 +28,6 @@ use MediaWiki\HookContainer\HookRunner;
use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\Languages\LanguageFallback;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\Linker\LinkTarget;
use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\User\UserIdentity;
@ -63,23 +62,6 @@ class Language {
*/
public const SUPPORTED = LanguageNameUtils::SUPPORTED;
/**
* Use PHP's magic __get handler to handle lazy accessing to
* deprecated mConverter.
*
* @param string $name Field name
* @return mixed
*/
public function __get( string $name ) {
if ( $name == "mConverter" ) {
wfDeprecatedMsg(
'Access to Language::$mConverter was deprecated in MediaWiki 1.35',
'1.35' );
return $this->getConverter();
}
throw new RuntimeException( "Cannot get '$name' property." );
}
public $mCode;
/**
@ -343,25 +325,6 @@ class Language {
return MediaWikiServices::getInstance()->getLanguageFactory()->getLanguage( $code );
}
/**
* Intended for tests that may change configuration in a way that invalidates caches.
*
* @since 1.32
* @deprecated since 1.35. Instead, reset all services and set Language::$mLangObjCache = [].
*/
public static function clearCaches() {
wfDeprecated( __METHOD__, '1.35' );
$services = MediaWikiServices::getInstance();
$services->resetServiceForTesting( 'LanguageFallback' );
$services->resetServiceForTesting( 'LanguageNameUtils' );
$services->resetServiceForTesting( 'LocalisationCache' );
$services->resetServiceForTesting( 'LanguageFactory' );
self::$mLangObjCache = [];
}
/**
* Checks whether any localisation is available for that language tag
* in MediaWiki (MessagesXx.php exists).
@ -4268,19 +4231,6 @@ class Language {
return $this->getConverter()->convert( $text );
}
/**
* Convert a Title object to a string in the preferred variant
*
* @deprecated since 1.35 use LanguageConverter::convertTitle
*
* @param Title $title
* @return string
*/
public function convertTitle( $title ) {
wfDeprecated( __METHOD__, '1.35' );
return $this->getConverter()->convertTitle( $title );
}
/**
* Convert a namespace index to a string in the preferred variant
*
@ -4381,25 +4331,6 @@ class Language {
return $this->getConverter()->getURLVariant();
}
/**
* If a language supports multiple variants, it is
* possible that non-existing link in one variant
* actually exists in another variant. this function
* tries to find it. See e.g. LanguageZh.php
* The input parameters may be modified upon return
*
* @deprecated since 1.35 use LanguageConverter::findVariantLink instead
*
* @param string &$link The name of the link
* @param Title &$nt The title object of the link
* @param bool $ignoreOtherCond To disable other conditions when
* we need to transclude a template or update a category's link
*/
public function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
wfDeprecated( __METHOD__, '1.35' );
$this->getConverter()->findVariantLink( $link, $nt, $ignoreOtherCond );
}
/**
* returns language specific options used by User::getPageRenderHash()
* for example, the preferred language variant
@ -4412,19 +4343,6 @@ class Language {
return $this->getConverter()->getExtraHashOptions();
}
/**
* Refresh the cache of conversion tables when
* MediaWiki:Conversiontable* is updated.
*
* @deprecated since 1.35 use LanguageConverter::updateConversionTable instead
*
* @param LinkTarget $linkTarget The LinkTarget of the page being updated
*/
public function updateConversionTable( LinkTarget $linkTarget ) {
wfDeprecated( __METHOD__, '1.35' );
$this->getConverter()->updateConversionTable( $linkTarget );
}
/**
* A regular expression to match legal word-trailing characters
* which should be merged onto a link of the form [[foo]]bar.
@ -4515,24 +4433,6 @@ class Language {
return str_replace( '_', '-', strtolower( $m[1] ) );
}
/**
* @deprecated since 1.35, this is an internal method and should not need
* to be used elsewhere
*
* @param string $code
* @param bool $fallback Whether we're going through language fallback chain
* @return string Name of the language class
*/
public static function classFromCode( $code, $fallback = true ) {
wfDeprecated( __METHOD__, '1.35' );
if ( $fallback && $code == 'en' ) {
return 'Language';
} else {
return 'Language' . str_replace( '-', '_', ucfirst( $code ) );
}
}
/**
* Get the name of a file for a certain language code
*

View file

@ -6,7 +6,6 @@ use MediaWiki\Languages\LanguageConverterFactory;
use MediaWiki\Languages\LanguageFallback;
use MediaWiki\Languages\LanguageNameUtils;
use MediaWiki\MediaWikiServices;
use Wikimedia\TestingAccessWrapper;
/**
* @group Language
@ -1844,23 +1843,6 @@ class LanguageIntegrationTest extends LanguageClassesTestCase {
$this->assertEquals( "a{$c}b{$c}c{$and}{$s}d", $lang->listToText( [ 'a', 'b', 'c', 'd' ] ) );
}
/**
* @covers Language::clearCaches
*/
public function testClearCaches() {
$this->hideDeprecated( 'Language::clearCaches' );
$languageClass = TestingAccessWrapper::newFromClass( Language::class );
// Populate $mLangObjCache
$lang = Language::factory( 'en' );
$this->assertNotCount( 0, Language::$mLangObjCache );
Language::clearCaches();
$this->assertSame( [], Language::$mLangObjCache );
}
/**
* @dataProvider provideGetParentLanguage
* @covers Language::getParentLanguage