-
-
Notifications
You must be signed in to change notification settings - Fork 348
Closed
pdepend/pdepend
#656Description
- PHPMD version: 2.11.1
- PHP Version: 8.1.1
- Installation type: composer
- Operating System / Distribution & Version: Ubuntu 20.04
Current Behavior
Run phpmd on a file using new enum type from php8.1
enum UseCaseContext: string
{
case PUBLIC = 'public';
case ADMIN = 'admin';
}This trigger an error:
./vendor/bin/phpmd src/Application/Shared/ValueObject/UseCaseContext.php text ./ruleset.xml
- Unexpected token: enum, line: 21, col: 1, file: /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/src/Application/Shared/ValueObject/UseCaseContext.php.
#0 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(7462): PDepend\Source\Parser\UnexpectedTokenException->__construct()
#1 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(3045): PDepend\Source\Language\PHP\AbstractPHPParser->getUnexpectedTokenException()
#2 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion54.php(297): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalExpressionForVersion()
#3 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion56.php(299): PDepend\Source\Language\PHP\PHPParserVersion54->parseOptionalExpressionForVersion()
#4 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion70.php(466): PDepend\Source\Language\PHP\PHPParserVersion56->parseOptionalExpressionForVersion()
#5 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/PHPParserVersion80.php(136): PDepend\Source\Language\PHP\PHPParserVersion70->parseOptionalExpressionForVersion()
#6 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(3006): PDepend\Source\Language\PHP\PHPParserVersion80->parseOptionalExpressionForVersion()
#7 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(6214): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalExpression()
#8 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(397): PDepend\Source\Language\PHP\AbstractPHPParser->parseOptionalStatement()
#9 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(587): PDepend\Source\Language\PHP\AbstractPHPParser->parse()
#10 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/pdepend/pdepend/src/main/php/PDepend/Engine.php(335): PDepend\Engine->performParseProcess()
#11 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/phpmd/phpmd/src/main/php/PHPMD/Parser.php(95): PDepend\Engine->analyze()
#12 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/phpmd/phpmd/src/main/php/PHPMD/PHPMD.php(240): PHPMD\Parser->parse()
#13 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/phpmd/phpmd/src/main/php/PHPMD/TextUI/Command.php(136): PHPMD\PHPMD->processFiles()
#14 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/phpmd/phpmd/src/main/php/PHPMD/TextUI/Command.php(184): PHPMD\TextUI\Command->run()
#15 /home/jeckel/Documents/Workspace/0.Jeckel-Lab/jeckel-lab.fr/backend/vendor/phpmd/phpmd/src/bin/phpmd(61): PHPMD\TextUI\Command::main()
#16 {main}
Expected Behavior
Should work and return success or normal warning in case of mess
Steps To Reproduce:
Create an enum file like this:
enum UseCaseContext: string
{
case PUBLIC = 'public';
case ADMIN = 'admin';
}Run phpmd on this file
Checks before submitting
- Be sure that there isn't already an issue about this. See: Issues list
- Be sure that there isn't already a pull request about this. See: Pull requests
- I have added every step to reproduce the bug.
- If possible I added relevant code examples.
- This issue is about 1 bug and nothing more.
- The issue has a descriptive title. For example: "JSON rendering failed on Windows for filenames with space".
Reactions are currently unavailable