Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient
authorBartosz Dziewoński <matma.rex@gmail.com>
Fri, 6 Oct 2017 22:17:58 +0000 (00:17 +0200)
committerJames D. Forrester <jforrester@wikimedia.org>
Thu, 31 May 2018 01:06:13 +0000 (18:06 -0700)
commit485f66f1744fea056e20a5bef619989bf1749202
tree10f1fa9496adf8a6057e28138c941bb2671fbeec
parentb191e5e860f24e1dd05e3d3d782364e4ea75b176
Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient

Find: /isset\(\s*([^()]+?)\s*\)\s*\?\s*\1\s*:\s*/
Replace with: '\1 ?? '

(Everywhere except includes/PHPVersionCheck.php)
(Then, manually fix some line length and indentation issues)

Then manually reviewed the replacements for cases where confusing
operator precedence would result in incorrect results
(fixing those in I478db046a1cc162c6767003ce45c9b56270f3372).

Change-Id: I33b421c8cb11cdd4ce896488c9ff5313f03a38cf
235 files changed:
includes/AjaxDispatcher.php
includes/Block.php
includes/CommentStore.php
includes/EditPage.php
includes/FauxRequest.php
includes/GlobalFunctions.php
includes/Html.php
includes/Linker.php
includes/MWNamespace.php
includes/MediaWiki.php
includes/NoLocalSettings.php
includes/OutputPage.php
includes/PrefixSearch.php
includes/Revision.php
includes/ServiceWiring.php
includes/Storage/RevisionStore.php
includes/Title.php
includes/WebRequest.php
includes/WikiMap.php
includes/actions/HistoryAction.php
includes/api/ApiAuthManagerHelper.php
includes/api/ApiBase.php
includes/api/ApiCSPReport.php
includes/api/ApiErrorFormatter.php
includes/api/ApiFeedWatchlist.php
includes/api/ApiFormatXml.php
includes/api/ApiHelp.php
includes/api/ApiModuleManager.php
includes/api/ApiOptions.php
includes/api/ApiParamInfo.php
includes/api/ApiQueryBacklinksprop.php
includes/api/ApiQueryExternalLinks.php
includes/api/ApiQuerySiteinfo.php
includes/api/ApiQueryUserContribs.php
includes/api/ApiResult.php
includes/api/ApiRsd.php
includes/api/ApiUndelete.php
includes/api/ApiUpload.php
includes/api/ApiUserrights.php
includes/api/SearchApi.php
includes/auth/AuthManager.php
includes/auth/ResetPasswordSecondaryAuthenticationProvider.php
includes/auth/ThrottlePreAuthenticationProvider.php
includes/cache/GenderCache.php
includes/cache/MessageCache.php
includes/cache/UserCache.php
includes/changes/ChangesList.php
includes/changes/ChangesListFilterGroup.php
includes/changes/EnhancedChangesList.php
includes/changes/RecentChange.php
includes/changetags/ChangeTags.php
includes/clientpool/SquidPurgeClient.php
includes/debug/logger/MonologSpi.php
includes/debug/logger/monolog/LineFormatter.php
includes/externalstore/ExternalStoreDB.php
includes/externalstore/ExternalStoreMwstore.php
includes/filebackend/FileBackendGroup.php
includes/filerepo/FileRepo.php
includes/filerepo/ForeignAPIRepo.php
includes/filerepo/RepoGroup.php
includes/filerepo/file/File.php
includes/filerepo/file/ForeignAPIFile.php
includes/filerepo/file/LocalFile.php
includes/gallery/TraditionalImageGallery.php
includes/htmlform/HTMLForm.php
includes/htmlform/HTMLFormElement.php
includes/htmlform/HTMLFormField.php
includes/htmlform/fields/HTMLExpiryField.php
includes/htmlform/fields/HTMLFloatField.php
includes/htmlform/fields/HTMLFormFieldCloner.php
includes/htmlform/fields/HTMLSelectAndOtherField.php
includes/htmlform/fields/HTMLSelectOrOtherField.php
includes/htmlform/fields/HTMLSizeFilterField.php
includes/htmlform/fields/HTMLTextAreaField.php
includes/htmlform/fields/HTMLTextField.php
includes/import/WikiImporter.php
includes/installer/CliInstaller.php
includes/installer/WebInstallerExistingWiki.php
includes/interwiki/ClassicInterwikiLookup.php
includes/jobqueue/Job.php
includes/jobqueue/JobQueue.php
includes/jobqueue/JobQueueDB.php
includes/jobqueue/JobQueueFederated.php
includes/jobqueue/JobQueueRedis.php
includes/jobqueue/JobQueueSecondTestQueue.php
includes/jobqueue/JobRunner.php
includes/jobqueue/JobSpecification.php
includes/jobqueue/aggregator/JobQueueAggregatorRedis.php
includes/jobqueue/jobs/DeleteLinksJob.php
includes/jobqueue/jobs/HTMLCacheUpdateJob.php
includes/jobqueue/jobs/PublishStashedFileJob.php
includes/jobqueue/utils/BacklinkJobUtils.php
includes/libs/HttpStatus.php
includes/libs/JavaScriptMinifier.php
includes/libs/MappedIterator.php
includes/libs/MultiHttpClient.php
includes/libs/Timing.php
includes/libs/UDPTransport.php
includes/libs/composer/ComposerInstalled.php
includes/libs/composer/ComposerLock.php
includes/libs/filebackend/FSFileBackend.php
includes/libs/filebackend/FileBackend.php
includes/libs/filebackend/FileBackendMultiWrite.php
includes/libs/filebackend/FileBackendStore.php
includes/libs/filebackend/FileOpBatch.php
includes/libs/filebackend/HTTPFileStreamer.php
includes/libs/filebackend/SwiftFileBackend.php
includes/libs/filebackend/filejournal/FileJournal.php
includes/libs/filebackend/fileop/FileOp.php
includes/libs/lockmanager/DBLockManager.php
includes/libs/lockmanager/LockManager.php
includes/libs/lockmanager/MemcLockManager.php
includes/libs/mime/MimeAnalyzer.php
includes/libs/mime/XmlTypeCheck.php
includes/libs/objectcache/BagOStuff.php
includes/libs/objectcache/HashBagOStuff.php
includes/libs/objectcache/MemcachedClient.php
includes/libs/objectcache/RedisBagOStuff.php
includes/libs/objectcache/WANObjectCache.php
includes/libs/objectcache/WANObjectCacheReaper.php
includes/libs/rdbms/ChronologyProtector.php
includes/libs/rdbms/database/Database.php
includes/libs/rdbms/database/DatabaseDomain.php
includes/libs/rdbms/database/DatabaseMssql.php
includes/libs/rdbms/database/DatabaseMysqlBase.php
includes/libs/rdbms/database/DatabasePostgres.php
includes/libs/rdbms/database/DatabaseSqlite.php
includes/libs/rdbms/field/MySQLField.php
includes/libs/rdbms/lbfactory/LBFactory.php
includes/libs/rdbms/lbfactory/LBFactorySimple.php
includes/libs/rdbms/loadbalancer/LoadBalancer.php
includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php
includes/libs/rdbms/loadmonitor/LoadMonitor.php
includes/libs/rdbms/loadmonitor/LoadMonitorMySQL.php
includes/libs/redis/RedisConnectionPool.php
includes/libs/virtualrest/VirtualRESTService.php
includes/libs/xmp/XMP.php
includes/logging/LogFormatter.php
includes/logging/RightsLogFormatter.php
includes/mail/UserMailer.php
includes/media/BitmapMetadataHandler.php
includes/media/DjVuHandler.php
includes/media/MediaTransformOutput.php
includes/media/SvgHandler.php
includes/media/TransformationalImageHandler.php
includes/objectcache/ObjectCache.php
includes/objectcache/SqlBagOStuff.php
includes/page/ImagePage.php
includes/page/WikiPage.php
includes/pager/IndexPager.php
includes/pager/TablePager.php
includes/parser/CoreParserFunctions.php
includes/parser/LinkHolderArray.php
includes/parser/Parser.php
includes/parser/ParserOutput.php
includes/parser/Preprocessor_DOM.php
includes/parser/Preprocessor_Hash.php
includes/parser/Sanitizer.php
includes/password/Pbkdf2Password.php
includes/poolcounter/PoolCounterWork.php
includes/preferences/DefaultPreferencesFactory.php
includes/profiler/ProfilerXhprof.php
includes/profiler/output/ProfilerOutputStats.php
includes/profiler/output/ProfilerOutputText.php
includes/registration/ExtensionProcessor.php
includes/resourceloader/ResourceLoader.php
includes/resourceloader/ResourceLoaderFileModule.php
includes/resourceloader/ResourceLoaderImageModule.php
includes/resourceloader/ResourceLoaderOOUIImageModule.php
includes/resourceloader/ResourceLoaderWikiModule.php
includes/revisiondelete/RevDelList.php
includes/services/ServiceContainer.php
includes/session/ImmutableSessionProviderWithCookie.php
includes/session/PHPSessionHandler.php
includes/session/SessionManager.php
includes/shell/FirejailCommand.php
includes/skins/BaseTemplate.php
includes/skins/Skin.php
includes/specialpage/ChangesListSpecialPage.php
includes/specialpage/ImageQueryPage.php
includes/specialpage/LoginSignupSpecialPage.php
includes/specialpage/QueryPage.php
includes/specials/SpecialListgrouprights.php
includes/specials/SpecialMediaStatistics.php
includes/specials/SpecialNewpages.php
includes/specials/SpecialPasswordReset.php
includes/specials/SpecialUserrights.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWantedcategories.php
includes/specials/formfields/UploadSourceField.php
includes/specials/forms/PreferencesFormLegacy.php
includes/specials/forms/PreferencesFormOOUI.php
includes/specials/forms/UploadForm.php
includes/specials/pagers/ContribsPager.php
includes/specials/pagers/DeletedContribsPager.php
includes/specials/pagers/UsersPager.php
includes/upload/UploadBase.php
includes/user/BotPassword.php
includes/user/User.php
includes/watcheditem/WatchedItemQueryService.php
includes/widget/ComplexTitleInputWidget.php
includes/widget/ExpiryInputWidget.php
includes/widget/NamespaceInputWidget.php
languages/Language.php
maintenance/cleanupInvalidDbKeys.php
maintenance/copyFileBackend.php
maintenance/generateSitemap.php
maintenance/mcc.php
maintenance/renameDbPrefix.php
maintenance/storage/moveToExternal.php
maintenance/storage/testCompression.php
maintenance/storage/trackBlobs.php
maintenance/updateSpecialPages.php
tests/parser/ParserTestRunner.php
tests/phpunit/MediaWikiTestCase.php
tests/phpunit/includes/GlobalFunctions/wfUrlencodeTest.php
tests/phpunit/includes/HtmlTest.php
tests/phpunit/includes/PrefixSearchTest.php
tests/phpunit/includes/TestUserRegistry.php
tests/phpunit/includes/api/ApiBaseTest.php
tests/phpunit/includes/api/ApiComparePagesTest.php
tests/phpunit/includes/api/ApiMainTest.php
tests/phpunit/includes/api/format/ApiFormatBaseTest.php
tests/phpunit/includes/api/format/ApiFormatTestBase.php
tests/phpunit/includes/api/generateRandomImages.php
tests/phpunit/includes/api/query/ApiQueryUserContribsTest.php
tests/phpunit/includes/auth/AuthManagerTest.php
tests/phpunit/includes/cache/GenderCacheTest.php
tests/phpunit/includes/db/DatabaseTestHelper.php
tests/phpunit/includes/libs/rdbms/database/DatabaseSQLTest.php
tests/phpunit/includes/logging/LogFormatterTestCase.php
tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php
tests/phpunit/includes/specialpage/AbstractChangesListSpecialPageTestCase.php
tests/qunit/data/styleTest.css.php
thumb.php