Package: phpmd Version: 2.4.3-1 Severity: important Dear Maintainer,
phpmd does not seem to work with anonymous classes: ~$ cat foo.php && php foo.php && phpmd foo.php text cleancode <?php $foo = new class { public function say($what) { echo $what . PHP_EOL; } }; $foo->say("bar"); bar PHP Fatal error: Uncaught TypeError: Argument 1 passed to PDepend\Source\AST\AbstractASTNode::addChild() must implement interface PDepend\Source\AST\ASTNode, instance of PDepend\Source\AST\ASTAnonymousClass given, called in /usr/share/php/PDepend/Source/Language/PHP/PHPParserVersion70.php on line 214 and defined in /usr/share/php/PDepend/Source/AST/AbstractASTNode.php:367 Stack trace: #0 /usr/share/php/PDepend/Source/Language/PHP/PHPParserVersion70.php(214): PDepend\Source\AST\AbstractASTNode->addChild(Object(PDepend\Source\AST\ASTAnonymousClass)) #1 /usr/share/php/PDepend/Source/Language/PHP/PHPParserVersion70.php(188): PDepend\Source\Language\PHP\PHPParserVersion70->parseAnonymousClassDeclaration(Object(PDepend\Source\AST\ASTAllocationExpression)) #2 /usr/share/php/PDepend/Source/Language/PHP/AbstractPHPParser.php(1475): PDepend\Source\Language\PHP\PHPParserVersion70->parseAllocationExpressionTypeReference(Object(PDepend\Source\AST\ASTAllocationExpression)) #3 /usr/share/php/PDepend/Source/Language/PHP/AbstractPHPParser.php in /usr/share/php/PDepend/Source/AST/AbstractASTNode.php on line 367 Carsten -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.8.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages phpmd depends on: ii pdepend 2.2.4-1 ii php-cli 1:7.0+47 ii php-common 1:47 ii php7.0-cli [php-cli] 7.0.14-2 phpmd recommends no packages. phpmd suggests no packages. -- no debconf information