Skip to content
This repository was archived by the owner on Nov 28, 2022. It is now read-only.
This repository was archived by the owner on Nov 28, 2022. It is now read-only.

DocBlockTypeAnnotations: null may be passed into ParserException() #22

@swharden

Description

@swharden

I think the second argument in the ParserException() is causing a failing test in Docker (#23)

foreach ($docBlocks as $docBlockString) {
try {
$docBlock = $factory->create((string) $docBlockString);
} catch (\InvalidArgumentException|\RuntimeException $e) {
throw new ParserException(
sprintf("Error parsing dockblock \n\n %s \n\n %s", $docBlockString, $e->getMessage()),
$e->getCode(),
$e
);
}

php_1  | Installing dependencies from lock file (including require-dev)    
php_1  | Verifying lock file contents can be installed on current platform.
php_1  | Nothing to install, update or remove
php_1  | Generating autoload files
php_1  | 29 packages you are using are looking for funding.
php_1  | Use the `composer fund` command to find out more! 
php_1  | PHPUnit 9.5.10 by Sebastian Bergmann and contributors.
php_1  |
php_1  | Runtime:       PHP 7.4.24
php_1  | Configuration: /phparch/phpunit.xml
php_1  | Warning:       Your XML configuration validates against a deprecated schema.  
php_1  | Suggestion:    Migrate your XML configuration using "--migrate-configuration"!
php_1  |
php_1  | E................................................................ 65 / 91 ( 71%)
php_1  | ..........................                                        91 / 91 (100%)
php_1  |
php_1  | Time: 00:02.573, Memory: 26.00 MB
php_1  |
php_1  | There was 1 error:
php_1  |
php_1  | 1) J6s\PhpArch\Tests\ArchitectureTest::testArchitectureRot
php_1  | J6s\PhpArch\Parser\ParserException: Error parsing dockblock 
php_1  |
php_1  |  /**
php_1  |      * Calls the given method for all combinations of 2 elements of the input array
php_1  |      * (excluding the combination of an element with each self).
php_1  |      *
php_1  |      * A call of this method with the input array [ 1, 2, 3 ] will call the given block
php_1  |      * 6 times with the following arguments: (1, 2) (1, 3) (2, 1) (2, 3) (3, 1) (3,2 ).
php_1  |      *
php_1  |      * Scalability warning: From the description of this method it should be obvious that
php_1  |      * this method scales roughly as O(n^2) - as such it quickly becomes very expensive
php_1  |      * for large arrays: An element with 50 elements will result in roughly 2500 callback
php_1  |      * calls.
php_1  |      *
php_1  |      * @template T
php_1  |      * @param T[] $elements
php_1  |      * @param (callable(T, T): void) $block
php_1  |      */
php_1  |
php_1  |  array_map(): Expected parameter 2 to be an array, null given
php_1  |
php_1  | /phparch/src/Parser/Visitor/DocBlockTypeAnnotations.php:53
php_1  | /phparch/src/Parser/Visitor/DocBlockTypeAnnotations.php:38
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:200
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:114
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:223
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:114
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:223
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:91
php_1  | /phparch/src/Parser/Parser.php:62
php_1  | /phparch/src/Parser/Parser.php:39
php_1  | /phparch/src/PhpArch.php:68
php_1  | /phparch/src/PhpArch.php:33
php_1  | /phparch/tests/ArchitectureTest.php:44
php_1  | /root/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:143
php_1  | /root/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:96
php_1  |
php_1  | Caused by
php_1  | PHPUnit\Framework\Error\Warning: array_map(): Expected parameter 2 to be an array, null given
php_1  |
php_1  | /phparch/src/Parser/Visitor/DocBlockTypeAnnotations.php:51
php_1  | /phparch/src/Parser/Visitor/DocBlockTypeAnnotations.php:38
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:200
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:114
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:223
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:114
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:223
php_1  | /phparch/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php:91
php_1  | /phparch/src/Parser/Parser.php:62
php_1  | /phparch/src/Parser/Parser.php:39
php_1  | /phparch/src/PhpArch.php:68
php_1  | /phparch/src/PhpArch.php:33
php_1  | /phparch/tests/ArchitectureTest.php:44
php_1  | /root/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:143
php_1  | /root/.composer/vendor/phpunit/phpunit/src/TextUI/Command.php:96
php_1  |
php_1  | ERRORS!
php_1  | Tests: 91, Assertions: 124, Errors: 1.
phparch_php_1 exited with code 2

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