Skip to content

Multiline @param description duplicating last line #393

@Furgas

Description

@Furgas

Test class/method/param:

class Foo {

	/**
	 * @param int $baz Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius, tellus in cursus
	 *     dictum, justo odio sagittis velit, id iaculis mi dui id nisi.
	 */
	public function bar(int $baz): void {

	}
}

Result of getDescription() on @param tag:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas varius, tellus in cursus
dictum, justo odio sagittis velit, id iaculis mi dui id nisi.
dictum, justo odio sagittis velit, id iaculis mi dui id nisi.

I've prepared a repository with this test case.

The direct cause for this is in ParamFactory::create() method (with my comments):

// value in "description" attribute is wrong (with duplicated line)
$description = $tagValue->getAttribute('description');
if (is_string($description) === false) {
    // this value is valid (without duplicated line), but is shadowed be the attribute
    $description = $tagValue->description;
}

I don't know why there is additional "description" attribute with invalid value and is preferred over "description" property, but I guess the source of this problem is in PhpDocParser::parseText() method.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions