What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hi guys, we have this PHPStan error over and over again: ``` 20 Call to an undefined method

U018XELUZS9
U018XELUZS9 Posts: 167 🧑🏻‍🚀 - Cadet
edited March 2021 in Help

Hi guys, we have this PHPStan error over and over again:

  20     Call to an undefined method                                                                                                     
         Generated\Zed\Ide\AutoCompletion|Spryker\Shared\Kernel\LocatorLocator                                                           
         Interface::sales(). 

The code, that causes this error looks like this:

    /**
     * @param \Spryker\Zed\Kernel\Container $container
     *
     * @return void
     */
    protected function addSalesFacade(Container $container): void
    {
        $container->set(
            SalesDependencyProviderConstants::FACADE_SALES,
            static function (Container $container) {
                return $container->getLocator()->sales()->facade(); // this is line 20
            }
        );
    }

I'm not 100% sure, but maybe the problem is a docblock in the Container:

\Generated\Zed\Ide\AutoCompletion|\Spryker\Shared\Kernel\LocatorLocatorInterface
\Generated\Zed\Ide\AutoCompletion&\Spryker\Shared\Kernel\LocatorLocatorInterface
                                 ^

PHPStan does not know anything about the methods in the LocatorLocatorInterface (funny name btw)

Comments

  • U018XELUZS9
    U018XELUZS9 Posts: 167 🧑🏻‍🚀 - Cadet
    edited March 2021

    If I change | to & the error is gone, indeed, should I send a PR?

  • Did you try regenerating the IDE auto completion?

  • console dev:ide-auto-completion:generate

  • U018XELUZS9
    U018XELUZS9 Posts: 167 🧑🏻‍🚀 - Cadet

    That's not the problem, since the sales() method is not included or annotated in \Spryker\Shared\Kernel\LocatorLocatorInterface

  • U018XELUZS9
    U018XELUZS9 Posts: 167 🧑🏻‍🚀 - Cadet

    But it is in \Generated\Zed\Ide\AutoCompletion