mirror of
https://github.com/nikic/PHP-Parser.git
synced 2025-01-29 05:07:34 +01:00
Add Name::getParts(), deprecate Name::$parts
In preparation for switching this to a plain string in PHP-Parser 5, deprecate direct access to the property and provide an API that will work on both versions. (cherry picked from commit c9e5a13d68486e9fd75f9be1b4639644e54e7f4f)
This commit is contained in:
parent
d43edfbb31
commit
df3a7057ab
@ -5,7 +5,10 @@ namespace PhpParser\Node;
|
||||
use PhpParser\NodeAbstract;
|
||||
|
||||
class Name extends NodeAbstract {
|
||||
/** @var string[] Parts of the name */
|
||||
/**
|
||||
* @var string[] Parts of the name
|
||||
* @deprecated Use getParts() instead
|
||||
*/
|
||||
public $parts;
|
||||
|
||||
/** @var array<string, bool> */
|
||||
@ -30,6 +33,15 @@ class Name extends NodeAbstract {
|
||||
return ['parts'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get parts of name (split by the namespace separator).
|
||||
*
|
||||
* @return string[] Parts of name
|
||||
*/
|
||||
public function getParts(): array {
|
||||
return $this->parts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the first part of the name, i.e. everything before the first namespace separator.
|
||||
*
|
||||
|
@ -18,10 +18,12 @@ class NameTest extends \PHPUnit\Framework\TestCase {
|
||||
$name = new Name('foo');
|
||||
$this->assertSame('foo', $name->getFirst());
|
||||
$this->assertSame('foo', $name->getLast());
|
||||
$this->assertSame(['foo'], $name->getParts());
|
||||
|
||||
$name = new Name('foo\bar');
|
||||
$this->assertSame('foo', $name->getFirst());
|
||||
$this->assertSame('bar', $name->getLast());
|
||||
$this->assertSame(['foo', 'bar'], $name->getParts());
|
||||
}
|
||||
|
||||
public function testToString() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user