for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Digia\GraphQL\Language;
use Digia\GraphQL\Util\ArrayToJsonTrait;
use Digia\GraphQL\Util\SerializationInterface;
class Token implements SerializationInterface
{
use ArrayToJsonTrait;
/**
* @var string
*/
private $kind;
* @var int
private $start;
private $end;
private $line;
private $column;
* @var ?Token
?Token
0
private $prev;
private $next;
* @var ?string
?string
private $value;
* Token constructor.
*
* @param string $kind
* @param int $start
* @param int $end
* @param int $line
* @param int $column
* @param Token|null $prev
$value
null
* @param null $value
public function __construct(
string $kind,
int $start = 0,
int $end = 0,
int $line = 0,
int $column = 0,
?Token $prev = null,
$value = null
) {
$this->kind = $kind;
$this->start = $start;
$this->end = $end;
$this->line = $line;
$this->column = $column;
$this->prev = $prev;
$this->value = $value;
}
* @return string
public function getKind(): string
return $this->kind;
* @return int
public function getStart(): int
return $this->start;
public function getEnd(): int
return $this->end;
public function getLine(): int
return $this->line;
public function getColumn(): int
return $this->column;
* @return Token|null
public function getPrev(): ?Token
return $this->prev;
public function getNext(): ?Token
return $this->next;
* @param Token $next
* @return $this
public function setNext(Token $next)
$this->next = $next;
return $this;
* @return mixed
public function getValue()
return $this->value;
* @inheritdoc
public function toArray(): array
return [
'kind' => $this->kind,
'value' => $this->value,
'line' => $this->line,
'column' => $this->column,
];
public function __toString(): string
return $this->value !== null
? sprintf('%s "%s"', $this->kind, $this->value)
: $this->kind;