This never happens in core code; however extensions have slipped into
a state of sin.
Bug: T235392
Change-Id: Ia254949cd8b3bc162b11dcc911dcce40d91bf1b7
(cherry picked from commit
dd9e6124b4a47b98cccdaa2971d587ecc6f0ab6e)
fetchLanguageName, getFileName, getMessagesFileName, getJsonMessagesFileName.
Use the new LanguageNameUtils class instead. (Note that fetchLanguageName(s)
are called getLanguageName(s) in the new class.)
fetchLanguageName, getFileName, getMessagesFileName, getJsonMessagesFileName.
Use the new LanguageNameUtils class instead. (Note that fetchLanguageName(s)
are called getLanguageName(s) in the new class.)
+* Using the Parser without initializing its $mTitle property to non-null has
+ been deprecated. In a future release Parser::getTitle() will throw a
+ TypeError if $mTitle is uninitialized.
=== Other changes in 1.34 ===
* Added option to specify "Various authors" as author in extension credits using
=== Other changes in 1.34 ===
* Added option to specify "Various authors" as author in extension credits using
- * @var Title|null Beware - this is not always set
+ * Since 1.34, leaving `mTitle` uninitialized or setting `mTitle` to
+ * `null` is deprecated.
+ *
+ * @internal
+ * @var Title|null
*/
public $mTitle; # Title context, used for self-link rendering and similar things
public $mOutputType; # Output type, one of the OT_xxx constants
*/
public $mTitle; # Title context, used for self-link rendering and similar things
public $mOutputType; # Output type, one of the OT_xxx constants
/**
* Accessor for the Title object
*
/**
* Accessor for the Title object
*
+ * Since 1.34, leaving `mTitle` uninitialized as `null` is deprecated.
+ *
* @return Title|null
*/
public function getTitle() : ?Title {
* @return Title|null
*/
public function getTitle() : ?Title {
+ if ( $this->mTitle === null ) {
+ wfDeprecated( 'Parser title should never be null', '1.34' );
+ }