File tree Expand file tree Collapse file tree 7 files changed +400
-0
lines changed
rules-tests/CodeQuality/Rector/Trait_/AddTraitGetterReturnTypeBasedOnSetterRequiredRector
rules/CodeQuality/Rector/Trait_ Expand file tree Collapse file tree 7 files changed +400
-0
lines changed Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ declare (strict_types=1 );
4
+
5
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector ;
6
+
7
+ use Iterator ;
8
+ use PHPUnit \Framework \Attributes \DataProvider ;
9
+ use Rector \Testing \PHPUnit \AbstractRectorTestCase ;
10
+
11
+ final class AddTraitGetterReturnTypeBasedOnSetterRequiredRectorTest extends AbstractRectorTestCase
12
+ {
13
+ #[DataProvider('provideData ' )]
14
+ public function test (string $ filePath ): void
15
+ {
16
+ $ this ->doTestFile ($ filePath );
17
+ }
18
+
19
+ public static function provideData (): Iterator
20
+ {
21
+ return self ::yieldFilesFromDirectory (__DIR__ . '/Fixture ' );
22
+ }
23
+
24
+ public function provideConfigFilePath (): string
25
+ {
26
+ return __DIR__ . '/config/configured_rule.php ' ;
27
+ }
28
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
4
+
5
+ use stdClass ;
6
+
7
+ trait FlipSetFirst
8
+ {
9
+ private $ service ;
10
+
11
+ /**
12
+ * @required
13
+ */
14
+ public function setService (stdClass $ stdClass )
15
+ {
16
+ $ this ->stdClass = $ stdClass ;
17
+ }
18
+
19
+ public function getService ()
20
+ {
21
+ return $ this ->service ;
22
+ }
23
+ }
24
+
25
+ ?>
26
+ -----
27
+ <?php
28
+
29
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
30
+
31
+ use stdClass ;
32
+
33
+ trait FlipSetFirst
34
+ {
35
+ private $ service ;
36
+
37
+ /**
38
+ * @required
39
+ */
40
+ public function setService (stdClass $ stdClass )
41
+ {
42
+ $ this ->stdClass = $ stdClass ;
43
+ }
44
+
45
+ public function getService (): stdClass
46
+ {
47
+ return $ this ->service ;
48
+ }
49
+ }
50
+
51
+ ?>
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
4
+
5
+ use stdClass ;
6
+
7
+ trait SkipAlreadyHasReturnType
8
+ {
9
+ private $ service ;
10
+
11
+ public function getService (): stdClass
12
+ {
13
+ return $ this ->service ;
14
+ }
15
+
16
+ /**
17
+ * @required
18
+ */
19
+ public function setService (stdClass $ stdClass )
20
+ {
21
+ $ this ->stdClass = $ stdClass ;
22
+ }
23
+ }
24
+
25
+ ?>
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
4
+
5
+ use stdClass ;
6
+
7
+ trait SomeTrait
8
+ {
9
+ private $ service ;
10
+
11
+ public function getService ()
12
+ {
13
+ return $ this ->service ;
14
+ }
15
+
16
+ /**
17
+ * @required
18
+ */
19
+ public function setService (stdClass $ stdClass )
20
+ {
21
+ $ this ->stdClass = $ stdClass ;
22
+ }
23
+ }
24
+
25
+ ?>
26
+ -----
27
+ <?php
28
+
29
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
30
+
31
+ use stdClass ;
32
+
33
+ trait SomeTrait
34
+ {
35
+ private $ service ;
36
+
37
+ public function getService (): stdClass
38
+ {
39
+ return $ this ->service ;
40
+ }
41
+
42
+ /**
43
+ * @required
44
+ */
45
+ public function setService (stdClass $ stdClass )
46
+ {
47
+ $ this ->stdClass = $ stdClass ;
48
+ }
49
+ }
50
+
51
+ ?>
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
4
+
5
+ use stdClass ;
6
+ use Symfony \Contracts \Service \Attribute \Required ;
7
+
8
+ trait WithRequiredAttribute
9
+ {
10
+ private $ service ;
11
+
12
+ public function getService ()
13
+ {
14
+ return $ this ->service ;
15
+ }
16
+
17
+ #[Required]
18
+ public function setService (stdClass $ stdClass )
19
+ {
20
+ $ this ->stdClass = $ stdClass ;
21
+ }
22
+ }
23
+
24
+ ?>
25
+ -----
26
+ <?php
27
+
28
+ namespace Rector \Symfony \Tests \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector \Fixture ;
29
+
30
+ use stdClass ;
31
+ use Symfony \Contracts \Service \Attribute \Required ;
32
+
33
+ trait WithRequiredAttribute
34
+ {
35
+ private $ service ;
36
+
37
+ public function getService (): stdClass
38
+ {
39
+ return $ this ->service ;
40
+ }
41
+
42
+ #[Required]
43
+ public function setService (stdClass $ stdClass )
44
+ {
45
+ $ this ->stdClass = $ stdClass ;
46
+ }
47
+ }
48
+
49
+ ?>
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ declare (strict_types=1 );
4
+
5
+ use Rector \Config \RectorConfig ;
6
+ use Rector \Symfony \CodeQuality \Rector \Trait_ \AddTraitGetterReturnTypeBasedOnSetterRequiredRector ;
7
+
8
+ return static function (RectorConfig $ rectorConfig ): void {
9
+ $ rectorConfig ->rule (AddTraitGetterReturnTypeBasedOnSetterRequiredRector::class);
10
+ };
You can’t perform that action at this time.
0 commit comments