62 Commits

Author SHA1 Message Date
Tomas Votruba
35502016a6
Improve MoveOutMethodCallInsideIfConditionRector (#4492)
* skip rename

* add method call and variable name for MoveOutMethodCallInsideIfConditionRector

* decouple MethodCallToVariableNameResolver

* use trick with Scope if variable is already defined

* fixup! use trick with Scope if variable is already defined

* cover case with variable name and method call

* add decopule note future

* [ci-review] Rector Rectify

* [ci] try re-trigger ci-review after push automatically

Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-27 15:51:44 +00:00
Abdul Malik Ikhsan
7a1ea1328b
[CodeQuality] Register MoveOutMethodCallInsideIfConditionRector to config code-quality set (#4477)
* [CodeQuality] Register MoveOutMethodCallInsideIfConditionRector to config code-quality set

* rename use string parameter

* phpstan

* fix false positive string param to be var === variable name

* fix false positive

* phpstan

* ensure not same variable

* phpstan

* add ucfirst after var

* add fixture failing test for variable exists to be skipped

* add fixture failing test for variable exists in previuos statement

* phpstan space

* add handling variable exists in previous statement and in ClassMethod/Functions args

* handle exists but inside if

* reduce complexity

* clean up

* clean up

* cs fix

* phpstan

* remove - in variable

* use fallback when first character is numeric

* using regex to check string start alpha for variable

* cs fix

* use ClassConstFetch name to set variable name

* [ci-review] Rector Rectify

* [ci-review] Rector Rectify

* [ci-review] Rector Rectify

* clean up

* fix

* [ci-review] Rector Rectify

* Update rules/code-quality/src/Rector/If_/MoveOutMethodCallInsideIfConditionRector.php

* Update rules/code-quality/src/Rector/If_/MoveOutMethodCallInsideIfConditionRector.php

Co-authored-by: rector-bot <tomas@getrector.org>
Co-authored-by: Tomas Votruba <tomas.vot@gmail.com>
2020-10-26 14:03:26 +00:00
Tomas Votruba
0f2e6d407e
[DoctrineAnnotaitonGenerated] Update to doctrine/annotations 1.11 + fix static (#4479) 2020-10-25 14:43:05 +01:00
Abdul Malik Ikhsan
11c76808be
[CodeQuality] Add MoveOutMethodCallInsideIfConditionRector (#4457)
* Add MoveOutMethodCallInsideIfConditionRector

* cs fix

* implemented handling pass constant to arg 0

* phpstan

* final touch: no need strtolower() before ucfirst on fallback var name
2020-10-23 15:15:54 +02:00
Tomas Votruba
10ae0d687a
[CodeQuality] Add NewStaticToNewSelfRector (#4468)
* [CodeQuality] Add NewStaticToNewSelfRector

* regenerated docs

* drop patches
2020-10-20 22:01:47 +00:00
Tomas Votruba
aa98eb5d9e
[CodeQuality] Skip dynamic properties for bindTo() (#4467)
* [CodeQuality] Decouple complete dynamic properties rector, add skip of bind()

* [rector] [CodeQuality] Decouple complete dynamic properties rector, add skip of bind()

* [cs] [CodeQuality] Decouple complete dynamic properties rector, add skip of bind()

Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-20 22:43:05 +02:00
Tomas Votruba
75d25a1dcb
[CodeQuality] Decouple complete dynamic properties rector, add skip of Closure::bind() (#4466)
* [ci] temporarily hide split monorepo

* [CodeQuality] Decouple complete dynamic properties rector, add skip of bind()

* [rector] [CodeQuality] Decouple complete dynamic properties rector, add skip of bind()

* [cs] [CodeQuality] Decouple complete dynamic properties rector, add skip of bind()

Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-20 20:27:12 +00:00
Tomas Votruba
5988584736
[CodeQuality] Improve missing property type resolution for array dim fetch (#4462)
Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-20 20:35:35 +02:00
Tomas Votruba
b9f45eab00
[CodeQuality] Skip nested foreach (#4461) 2020-10-20 17:07:01 +02:00
Tomas Votruba
8bdb879a55
[CodeQuality] Add nested foreach foreach that is required for assign (#4459) 2020-10-20 14:24:32 +00:00
Tomas Votruba
9d2757f80d
[CodeQuality] Support multi boolean and in isset on property (#4455)
Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-20 12:50:21 +02:00
Abdul Malik Ikhsan
26ab509d7a
[CodeQuality] Register IssetOnPropertyObjectToPropertyExistsRector to code-quality config set (#4441)
Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-18 20:42:49 +02:00
Tomas Votruba
1c8fac5242
Add meta node FileWithoutNamespace (#4355)
* [CakePHP] Promote AppUsesStaticCallToUseStatementRector to File

* [CakePHP] Change ImplicitShortClassNameUseStatementRector to FileWithoutNamespace approach

* [Renaming] Update PseudoNamespaceToNamespaceRector to use FileWithnoutNamespace

* [rector] [Renaming] Update PseudoNamespaceToNamespaceRector to use FileWithnoutNamespace

* [cs] [Renaming] Update PseudoNamespaceToNamespaceRector to use FileWithnoutNamespace

Co-authored-by: rector-bot <tomas@getrector.org>
2020-10-05 08:39:02 +00:00
Abdul Malik Ikhsan
8e58d44acf
[Code Quality] Fixes #4286 Skip ArrayKeyExistsTernaryThenValueToCoalescingRector when else is a not null (#4298) 2020-09-27 22:34:02 +02:00
Tomas Votruba
d7f90774ee
allow php-parser 4.10 + fixes of args merge change (#4277)
* allow php-parser 4.10 + fixes of args merge change

* use fixed php-parser 4.10.1
2020-09-23 20:22:35 +00:00
Abdul Malik Ikhsan
8ef90fd61a
Fixes #3939 Add IssetOnPropertyObjectToPropertyExists rule (#4214) 2020-09-15 13:29:25 +02:00
Tomas Votruba
740ccda385
[CodingStyle] Drop SimplifyBoolIdenticalTrueRector, does not bring expected value (#4113) 2020-09-02 20:12:58 +00:00
Tomas Votruba
7ac228c638
[CI] Add type-declaration set (#4089)
* [CI] Add type-declaration set

* [rector] [CI] Add type-declaration set

* [cs] [CI] Add type-declaration set

* skip nullable void

* add anonymous parent/interface support

* refactor MultiExceptionCatchRector to use Catch_ over integers

* type fixes

* fix unoin array type override

* remove unused test cases

* drop overcomplicated InlineValidationRulesToArrayDefinitionRector

* skip assign on var

* [rector] skip assign on var

* [cs] skip assign on var

* [rector] [cs] skip assign on var

* skip assign on var

* fixes

* [rector] fixes

* [cs] fixes

Co-authored-by: rector-bot <tomas@getrector.org>
2020-09-01 17:56:30 +00:00
Tomas Votruba
351e59fa3b
Fix array type (#4058)
Co-authored-by: rector-bot <tomas@getrector.org>
2020-08-29 16:20:27 +02:00
Dmytro Naumenko
12691991bb
[Code Quality] If the whole concatenated string is longer than 120 chars, skip it (#4052) 2020-08-28 18:08:25 +02:00
dobryy
2e7bdca4e2
[DX] Rename namespaces respect node type (#3973) 2020-08-18 17:57:30 +02:00
Tomas Votruba
0f25a84740
[CodeQuality] Add argument support to ArrayThisCallToThisMethodCallRector (#3921)
* make array method call to closure

* [CodeQuality] Add ArrayThisCallToThisMethodCallRector
2020-08-06 10:32:51 +00:00
Tomas Votruba
55acb3578a
[MagicDisclosure] Add SetterOnSetterMethodCallToStandaloneAssignRector (#3860)
* [MagicDisclosure] Add MethodCallOnSetterMethodCallToStandaloneAssignRector

* merge ChainMethodCallManipulator to ChainMethodCallNodeAnalyzer for better DX

* [MagicDisclosure] Add in arg defluent

* rebase
2020-08-01 11:41:16 +00:00
TomasVotruba
fe72e003ed use constants in configs 2020-07-30 13:53:53 +02:00
TomasVotruba
cd942d5a07 fix fixture content 2020-07-28 00:02:54 +02:00
TomasVotruba
8c31bd27e4 [CodeQuality] Add case class name fix 2020-07-27 20:45:41 +02:00
TomasVotruba
c28a5a9746 [Celebrity] Merge to code-quality 2020-07-27 10:18:03 +02:00
TomasVotruba
eb01322e2b [CodeQuality] Remove exception coding from JoinStringConcatRector 2020-07-19 15:30:10 +02:00
TomasVotruba
a619753f73 improve UnusedForeachValueToArrayKeysRector to work with array foreach values 2020-07-07 22:13:09 +02:00
TomasVotruba
9656d25eb1 fix callable this if part of the method 2020-07-02 01:00:24 +02:00
TomasVotruba
a8a6e7bcad rename file to fileInfo 2020-06-30 01:45:05 +02:00
TomasVotruba
b3ba3c8dfa add uniontype support for CallableThisArrayToAnonymousFunctionRector 2020-06-26 12:22:55 +02:00
TomasVotruba
7f49658112 change test(string ) to test(SmartFileInfo ) in tests 2020-06-25 20:02:36 +02:00
TomasVotruba
2ad9dd97e4 skip non-existing method 2020-06-10 20:50:00 +02:00
TomasVotruba
c17b38aa43 [CodeQuality] Add ArrayThisCallToThisMethodCallRector 2020-06-10 20:35:59 +02:00
TomasVotruba
f27f50bf9c rework AbstractRunnableRectorTestCase from eval to include 2020-05-31 14:11:04 +02:00
Guilliam Xavier
86cd497105 Fix SimplifyArraySearchRector w.r.t. "strictness" 2020-05-24 12:21:45 +02:00
TomasVotruba
84596b767f [CodeQuality] Fix SimplifyIfReturnBoolRector for else if 2020-05-12 16:30:20 +02:00
TomasVotruba
65a25fc57e fix comment preserving for SimplifyIfReturnBoolRector 2020-05-06 12:52:50 +02:00
TomasVotruba
e8ac877527 remove @todo from fixtures 2020-05-05 14:24:56 +02:00
TomasVotruba
1cd6803847 [CodeQuality] Fix CompactToVariablesRector for unknown names 2020-04-24 23:53:29 +02:00
TomasVotruba
298df2dae1 [CodeQuality] Add UnusedForeachValueToArrayKeysRector 2020-04-24 19:14:30 +02:00
TomasVotruba
d865f69793 [DX] Add validate fixture suffix 2020-04-23 21:36:19 +02:00
TomasVotruba
5f4a2c1e3b Add changed files caching 2020-04-20 01:54:17 +02:00
TomasVotruba
00797bbce3 [CodeQuality] Add SplitListScalarAssignToSeparateLineRector 2020-04-19 16:20:08 +02:00
TomasVotruba
814e6a1d5c add typed property test with mixed and PHP 7.4 2020-04-16 15:44:36 +02:00
TomasVotruba
b882ce533d [CodeQuality] Make ChangeArrayPushToArrayAssignRector skip spread 2020-04-16 13:36:07 +02:00
TomasVotruba
17a90bb768 add test fixtures for #3125 2020-04-03 01:13:37 +02:00
Pascal Landau
016124b215 Add RunnableTestCase to run fixed code in a test
- added RunnableTestCase::assertOriginalAndFixedFileYieldSameResult($file)
that takes a fixture file and expects fixture classes that implement the
new RunnableInterface which exposes a run() method
- the fixture class is dynamically renamed to avoid naming conflicts
and loaded via eval()
- fixtures that don't implement the RunnableInterface are ignored
otherwise the run() method is called on the original class as well
as on the fixed one and the output is expected to be equal
(via assertSame)
2020-03-29 13:09:09 +02:00
Pascal Landau
1513ee16cd Fix ArrayKeysAndInArrayToArrayKeyExistsRectorTest
- fixed typo in RectorDefinition code sample
- fixed argument order of array_key_exists
- renamed test folder from ArrayKeysAndInArrayToIssetRector
  to ArrayKeysAndInArrayToArrayKeyExistsRector
2020-03-28 17:35:14 +01:00