Skip to content

Commit

Permalink
Backward compatibility - QuoteAwareConstExprStringNode should extend …
Browse files Browse the repository at this point in the history
…ConstExprStringNode
  • Loading branch information
ondrejmirtes committed Apr 17, 2023
1 parent 5194589 commit 178b33a
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 13 deletions.
7 changes: 2 additions & 5 deletions src/Ast/ConstExpr/QuoteAwareConstExprStringNode.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,14 @@
use function strlen;
use const STR_PAD_LEFT;

class QuoteAwareConstExprStringNode implements ConstExprNode
class QuoteAwareConstExprStringNode extends ConstExprStringNode implements ConstExprNode
{

public const SINGLE_QUOTED = 1;
public const DOUBLE_QUOTED = 2;

use NodeAttributes;

/** @var string */
public $value;

/** @var self::SINGLE_QUOTED|self::DOUBLE_QUOTED */
public $quoteType;

Expand All @@ -32,7 +29,7 @@ class QuoteAwareConstExprStringNode implements ConstExprNode
*/
public function __construct(string $value, int $quoteType)
{
$this->value = $value;
parent::__construct($value);
$this->quoteType = $quoteType;
}

Expand Down
5 changes: 2 additions & 3 deletions src/Ast/Type/ArrayShapeItemNode.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprIntegerNode;
use PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprStringNode;
use PHPStan\PhpDocParser\Ast\ConstExpr\QuoteAwareConstExprStringNode;
use PHPStan\PhpDocParser\Ast\NodeAttributes;
use function sprintf;

Expand All @@ -13,7 +12,7 @@ class ArrayShapeItemNode implements TypeNode

use NodeAttributes;

/** @var ConstExprIntegerNode|QuoteAwareConstExprStringNode|ConstExprStringNode|IdentifierTypeNode|null */
/** @var ConstExprIntegerNode|ConstExprStringNode|IdentifierTypeNode|null */
public $keyName;

/** @var bool */
Expand All @@ -23,7 +22,7 @@ class ArrayShapeItemNode implements TypeNode
public $valueType;

/**
* @param ConstExprIntegerNode|QuoteAwareConstExprStringNode|ConstExprStringNode|IdentifierTypeNode|null $keyName
* @param ConstExprIntegerNode|ConstExprStringNode|IdentifierTypeNode|null $keyName
*/
public function __construct($keyName, bool $optional, TypeNode $valueType)
{
Expand Down
5 changes: 2 additions & 3 deletions src/Ast/Type/ObjectShapeItemNode.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
namespace PHPStan\PhpDocParser\Ast\Type;

use PHPStan\PhpDocParser\Ast\ConstExpr\ConstExprStringNode;
use PHPStan\PhpDocParser\Ast\ConstExpr\QuoteAwareConstExprStringNode;
use PHPStan\PhpDocParser\Ast\NodeAttributes;
use function sprintf;

Expand All @@ -12,7 +11,7 @@ class ObjectShapeItemNode implements TypeNode

use NodeAttributes;

/** @var QuoteAwareConstExprStringNode|ConstExprStringNode|IdentifierTypeNode */
/** @var ConstExprStringNode|IdentifierTypeNode */
public $keyName;

/** @var bool */
Expand All @@ -22,7 +21,7 @@ class ObjectShapeItemNode implements TypeNode
public $valueType;

/**
* @param QuoteAwareConstExprStringNode|ConstExprStringNode|IdentifierTypeNode $keyName
* @param ConstExprStringNode|IdentifierTypeNode $keyName
*/
public function __construct($keyName, bool $optional, TypeNode $valueType)
{
Expand Down
4 changes: 2 additions & 2 deletions src/Parser/TypeParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ private function parseArrayShapeItem(TokenIterator $tokens): Ast\Type\ArrayShape

/**
* @phpstan-impure
* @return Ast\ConstExpr\ConstExprIntegerNode|Ast\ConstExpr\QuoteAwareConstExprStringNode|Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
* @return Ast\ConstExpr\ConstExprIntegerNode|Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
*/
private function parseArrayShapeKey(TokenIterator $tokens)
{
Expand Down Expand Up @@ -639,7 +639,7 @@ private function parseObjectShapeItem(TokenIterator $tokens): Ast\Type\ObjectSha

/**
* @phpstan-impure
* @return Ast\ConstExpr\QuoteAwareConstExprStringNode|Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
* @return Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
*/
private function parseObjectShapeKey(TokenIterator $tokens)
{
Expand Down

0 comments on commit 178b33a

Please sign in to comment.