Skip to content

[CodeQuality] CompleteDynamicPropertiesRector add unknown property #1751

@stloyd

Description

@stloyd
Subject Details
PHP version any
Full Command e.g. vendor/bin/rector process /src --set code-quality

Current Behaviour

Rector Rector\CodeQuality\Rector\Class_\CompleteDynamicPropertiesRector adds, strange/unknown new property that's not used on class level.

    ---------- begin diff ----------
--- Original
+++ New
@@ -18,6 +18,10 @@
 class SomeClassName implements Serializable
 {
     /**
+     * @var
+     */
+    public $k;
+    /**

Minimal PHP Code Causing Issue

Seems to be related to usage of \Serializable interface.

<?php

class SomeClass implements \Serializable
{

    public function serialize()
    {
        $allFields = \get_object_vars($this);
        $fieldsToBeSerialized = [];
        foreach ($allFields as $k => $v) {
            $fieldsToBeSerialized[$k] = $v;
        }

        return \serialize($fieldsToBeSerialized);
    }

    public function unserialize($serialized)
    {
        $data = \unserialize($serialized);
        foreach ($data as $k => $v) {
            $this->$k = $v;
        }
    }
}

Expected Behaviour

No changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions