phpinspectionsea icon indicating copy to clipboard operation
phpinspectionsea copied to clipboard

Code that doesn't expect named arguments usages

Open wbars opened this issue 5 years ago • 1 comments

Here are code pieces that we found that may work not correctly with named arguments:

  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/ConstantCanBeUsedInspector.java#L124
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/PrintfScanfArgumentsInspector.java#L82
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/SimpleXmlLoadFileUsageInspector.java#L51 -https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/TypesCastingCanBeUsedInspector.java#L79 -https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/UnqualifiedReferenceInspector.java#L168
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/arrays/ArrayPushMissUseInspector.java#L62
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/arrays/InArrayMissUseInspector.java#L60
  • https://github.com/kalessil/phpinspectionsea/blob/dbdf0e2fea67c8ec102dcef7e49c72f458385030/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/arrays/SlowArrayOperationsInLoopInspector.java#L79
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/arrays/TypeUnsafeArraySearchInspector.java#L67
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/dateTime/DateTimeSetTimeUsageInspector.java#L51
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/dateTime/DateTimeSetTimeUsageInspector.java#L72
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/dateTime/StrtotimeUsageInspector.java#L71
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/deprecations/DynamicCallsToScopeIntrospectionInspector.java#L80 -https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/deprecations/MktimeUsageInspector.java#L57
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/fileSystem/CascadingDirnameCallsInspector.java#L97
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/fileSystem/FopenBinaryUnsafeUsageInspector.java#L64
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/CascadeStringReplacementInspector.java#L87
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/CaseInsensitiveStringFunctionsMissUseInspector.java#L69
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/FixedTimeStartWithInspector.java#L67
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/StrContainsCanBeUsedInspector.java#L66
  • https://github.com/kalessil/phpinspectionsea/blob/2642310484b66d9d5c7d8cf4f5e8854c5b93151f/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/StrEndsWithCanBeUsedInspector.java#L63
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/StringCaseManipulationInspector.java#L68
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/apiUsage/strings/StringsFirstCharactersCompareInspector.java#L49
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/codeStyle/ArgumentEqualsDefaultValueInspector.java#L94
  • https://github.com/kalessil/phpinspectionsea/blob/a96aa1af81ce9931abe94f47a89f5c58bf529f4d/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/codeStyle/StaticClosureCanBeUsedInspector.java#L150
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/languageConstructions/ArgumentUnpackingCanBeUsedInspector.java#L50
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/languageConstructions/InstanceofCanBeUsedInspector.java#L82
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/languageConstructions/PowerOperatorCanBeUsedInspector.java#L53
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/languageConstructions/VariableFunctionsUsageInspector.java#L73
  • https://github.com/kalessil/phpinspectionsea/blob/0bbbe936f6a7e664ce20d6ca8a4e77edd4277cd3/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/languageConstructions/nullCoalescing/NullCoalescingOperatorCanBeUsedInspector.java#L172
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/phpUnit/PhpUnitDeprecationsInspector.java#L55
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/phpUnit/strategy/AssertBoolInvertedStrategy.java#L89
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/regularExpressions/apiUsage/PlainApiUseCheckStrategy.java#L92
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/regularExpressions/optimizeStrategy/UnnecessaryCaseManipulationCheckStrategy.java#L34
  • https://github.com/kalessil/phpinspectionsea/blob/46a91091a1417ccc3eae13647c4519df182b3757/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/security/CurlSslServerSpoofingInspector.java#L69
  • https://github.com/kalessil/phpinspectionsea/blob/46a91091a1417ccc3eae13647c4519df182b3757/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/security/EncryptionInitializationVectorRandomnessInspector.java#L61
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/security/NonSecureUniqidUsageInspector.java#L81
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/semanticalAnalysis/IncorrectRandomRangeInspector.java#L62
  • https://github.com/kalessil/phpinspectionsea/blob/b83ce4aa06c3a650dd93a1fec7d051a8dde45a72/src/main/java/com/kalessil/phpStorm/phpInspectionsEA/inspectors/semanticalAnalysis/binaryOperations/strategy/MisplacedOperatorStrategy.java#L54

Generally now it's necessary to take named arguments into account to provide correct behaviour for PHP 8. In 203 build we do have some methods for this to ease the migration. If index is accessible it's recommended to use com.jetbrains.php.PhpWorkaroundUtil#resolveMappedParameterIndex(com.intellij.psi.PsiElement), this method will resolve parameter index taking into account both named argument part and position.

references: https://jetbrains.org/intellij/sdk/docs/products/phpstorm/php_open_api_breaking_changes_203.html

wbars avatar Nov 05 '20 13:11 wbars

Hey @wbars, many thanks for sharing the potential issues list and migration path. Much appreciated!

ea-inspections-team avatar Dec 19 '21 13:12 ea-inspections-team