start = $start; $tmp->end = $end; return $tmp; } public function __construct(Token $startToken = null, Token $endToken = null, Source $source = null) { $this->startToken = $startToken; $this->endToken = $endToken; $this->source = $source; if ($startToken && $endToken) { $this->start = $startToken->start; $this->end = $endToken->end; } } }