phpmd / phpmd

PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.

Home Page:https://phpmd.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Duplicate] phpmd Unexpected token: enum

lionelkimbs opened this issue · comments

  • PHPMD version: 2.10
  • PHP Version: 8.1.6
  • Installation type: composer
  • Operating System / Distribution & Version: Debian GNU/Linux 11

Current Behavior

phpmd doesn't know "enum" keyword, then throw a error messsage.
Here's the stack trace :

-       Unexpected token: enum, line: 5, col: 1, file: /var/www/html/api/src/Domain/User/FileManagement/EnumFilePath.php.
#0 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(7844): PDepend\Source\Parser\UnexpectedTokenException->__construct(Object(PDepend\Source\Tokenizer\Token), Object(PDepend\Source\AST\ASTCompilationUnit))
#1 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(3237): PDepend\Source\Language\PHP\AbstractPHPParser->getUnexpectedTokenException()
#2 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion54.php(308): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalExpressionForVersion()
#3 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion56.php(306): PDepend\Source\Language\PHP\PHPParserVersion54->parseOptionalExpressionForVersion()
#4 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion70.php(461): PDepend\Source\Language\PHP\PHPParserVersion56->parseOptionalExpressionForVersion()
#5 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion80.php(138): PDepend\Source\Language\PHP\PHPParserVersion70->parseOptionalExpressionForVersion()
#6 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(3196): PDepend\Source\Language\PHP\PHPParserVersion80->parseOptionalExpressionForVersion()
#7 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(6559): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalExpression()
#8 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(483): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalStatement()
#9 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(606): PDepend\Source\Language\PHP\AbstractPHPParser->parse()
#10 /var/www/html/api/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(351): PDepend\Engine->performParseProcess()
#11 /var/www/html/api/vendor/phpmd/phpmd/src/main/php/PHPMD/Parser.php(95): PDepend\Engine->analyze()
#12 /var/www/html/api/vendor/phpmd/phpmd/src/main/php/PHPMD/PHPMD.php(240): PHPMD\Parser->parse(Object(PHPMD\Report))
#13 /var/www/html/api/vendor/phpmd/phpmd/src/main/php/PHPMD/TextUI/Command.php(136): PHPMD\PHPMD->processFiles('src/Command/Use...', 'ruleset.xml', Array, Object(PHPMD\RuleSetFactory), Object(PHPMD\Report))
#14 /var/www/html/api/vendor/phpmd/phpmd/src/main/php/PHPMD/TextUI/Command.php(184): PHPMD\TextUI\Command->run(Object(PHPMD\TextUI\CommandLineOptions), Object(PHPMD\RuleSetFactory))
#15 /var/www/html/api/vendor/phpmd/phpmd/src/bin/phpmd(61): PHPMD\TextUI\Command::main(Array)
#16 /var/www/html/api/vendor/bin/phpmd(117): include('/var/www/html/a...')
#17 {main}

Expected Behavior

No error thrown because of "enum"

Steps To Reproduce:

  • Create an enum
  • Try to check your code quality