2022-04-28 14:55:01 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
declare (strict_types=1);
|
2022-06-06 17:12:56 +00:00
|
|
|
namespace Rector\CodeQuality\ValueObject;
|
2022-04-28 14:55:01 +00:00
|
|
|
|
2022-06-06 17:12:56 +00:00
|
|
|
use PhpParser\Comment;
|
|
|
|
use PhpParser\Node\Expr;
|
2022-04-28 14:55:01 +00:00
|
|
|
final class KeyAndExpr
|
|
|
|
{
|
|
|
|
/**
|
2023-06-11 23:01:39 +00:00
|
|
|
* @readonly
|
2022-05-31 07:47:20 +00:00
|
|
|
* @var \PhpParser\Node\Expr|null
|
2022-04-28 14:55:01 +00:00
|
|
|
*/
|
|
|
|
private $keyExpr;
|
|
|
|
/**
|
2023-06-11 23:01:39 +00:00
|
|
|
* @readonly
|
2022-04-28 14:55:01 +00:00
|
|
|
* @var \PhpParser\Node\Expr
|
|
|
|
*/
|
|
|
|
private $expr;
|
2022-05-31 07:47:20 +00:00
|
|
|
/**
|
|
|
|
* @var Comment[]
|
2023-06-11 23:01:39 +00:00
|
|
|
* @readonly
|
2022-05-31 07:47:20 +00:00
|
|
|
*/
|
|
|
|
private $comments;
|
|
|
|
/**
|
|
|
|
* @param Comment[] $comments
|
|
|
|
*/
|
2022-06-07 08:22:29 +00:00
|
|
|
public function __construct(?Expr $keyExpr, Expr $expr, array $comments)
|
2022-04-28 14:55:01 +00:00
|
|
|
{
|
|
|
|
$this->keyExpr = $keyExpr;
|
|
|
|
$this->expr = $expr;
|
2022-05-31 07:47:20 +00:00
|
|
|
$this->comments = $comments;
|
2022-04-28 14:55:01 +00:00
|
|
|
}
|
2022-06-07 08:22:29 +00:00
|
|
|
public function getKeyExpr() : ?Expr
|
2022-04-28 14:55:01 +00:00
|
|
|
{
|
|
|
|
return $this->keyExpr;
|
|
|
|
}
|
2022-06-07 08:22:29 +00:00
|
|
|
public function getExpr() : Expr
|
2022-04-28 14:55:01 +00:00
|
|
|
{
|
|
|
|
return $this->expr;
|
|
|
|
}
|
2022-05-31 07:47:20 +00:00
|
|
|
/**
|
|
|
|
* @return Comment[]
|
|
|
|
*/
|
|
|
|
public function getComments() : array
|
|
|
|
{
|
|
|
|
return $this->comments;
|
|
|
|
}
|
2022-04-28 14:55:01 +00:00
|
|
|
}
|