Skip to content

Script cannot parse a file #3

@ilya-levin-lokalise

Description

@ilya-levin-lokalise

Script fails to parse the following file:

<?php

namespace App\Controller;

/**
 * @Route(path="/sso")
 */
class SSOController extends BaseController
{
    /**
     * @Route(path="/{domain}", methods={"GET"})
     */
    public function loginForm(Request $request, string $domain): Response
    {

    }
}

With an error:

[15-Nov-2022 11:34:34 UTC] PHP Fatal error:  Uncaught TypeError: Argument 1 passed to DependencyAnalysis\Parser\FileParser::processName() must be an instance of PhpParser\Node\Name, instance of PhpParser\Node\Identifier given, called in /var/www/html/app/vendor/paglliac/dependency-analysis/src/Parser/FileParser.php on line 151 and defined in /var/www/html/app/vendor/paglliac/dependency-analysis/src/Parser/FileParser.php:266
Stack trace:
#0 /var/www/html/app/vendor/paglliac/dependency-analysis/src/Parser/FileParser.php(151): DependencyAnalysis\Parser\FileParser->processName(Object(PhpParser\Node\Identifier))
#1 /var/www/html/app/vendor/paglliac/dependency-analysis/src/Parser/FileParser.php(111): DependencyAnalysis\Parser\FileParser->processStmts(Array)
#2 /var/www/html/app/vendor/paglliac/dependency-analysis/src/Parser/FileParser.php(92): DependencyAnalysis\Parser\FileParser->processStmts(Array)
#3 /var/www/html/app/vendor/paglliac/dependency-analysis/src/Analyzer.php(22): DependencyAnalysis\Parser\FileParser->parseFile('/var/www/html/a...')
#4 /var/www/ in /var/www/html/app/vendor/paglliac/dependency-analysis/src/Parser/FileParser.php on line 96

If we look at \PhpParser\Node\Param, indeed, $type can have different types:

    /** @var null|Identifier|Name|ComplexType Type declaration */
    public $type;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions