ruleIndex = $ruleIndex; $this->precedence = $precedence; $this->followState = $followState; } public function matches(int $symbol, int $minVocabSymbol, int $maxVocabSymbol) : bool { return false; } /** * {@inheritdoc} */ public function isEpsilon() : bool { return true; } public function getSerializationType() : int { return self::RULE; } public function equals(object $other) : bool { if ($this === $other) { return true; } return $other instanceof self && $this->ruleIndex === $other->ruleIndex && $this->precedence === $other->precedence && $this->target->equals($other->target); } public function __toString() : string { return \sprintf('rule_%d:%d,%s', $this->ruleIndex, $this->precedence, $this->followState); } }