name = $name; $this->expression = $expression; $this->span = $span; $this->guarded = $guarded; } public function getName(): string { return $this->name; } public function getExpression(): Expression { return $this->expression; } public function getSpan(): FileSpan { return $this->span; } public function isGuarded(): bool { return $this->guarded; } public function getNameSpan(): FileSpan { return SpanUtil::initialIdentifier($this->span, 1); } public function __toString(): string { return '$' . $this->name . ': ' . $this->expression . ($this->guarded ? ' !default' : ''); } }