Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[PropertyInfo] PhpStan FQSEN error #44431

@vlastv

Description

@vlastv

Symfony version(s) affected

5.4, 6.*

Description

PhpStanExtractor incorrect detect class with different namespace. PhpDocExtractor work correct.

#40457

How to reproduce

<?php

namespace {
    require_once __DIR__ . '/vendor/autoload.php';

    use Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor;
    use Symfony\Component\PropertyInfo\Extractor\PhpStanExtractor;

    $phpDocExtractor = new PhpDocExtractor();
    $phpStanExtractor = new PhpStanExtractor();


    dump(
        $phpDocTypes = $phpDocExtractor->getTypes(B\Dummy::class, 'property'),
        $phpStanTypes = $phpStanExtractor->getTypes(B\Dummy::class, 'property')
    );

    assert($phpStanTypes[0]->getClassName() === 'A\Property');
    assert($phpDocTypes[0]->getClassName() === $phpStanTypes[0]->getClassName());
}


namespace A {
    class Property {

    }

    class Dummy {
        /**
         * @var Property
         */
        public $property;
    }
}

namespace B {
    class Dummy extends \A\Dummy {

    }
}

Possible Solution

No response

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions