| /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. |
| * Use of this file is governed by the BSD 3-clause license that |
| * can be found in the LICENSE.txt file in the project root. |
| */ |
| |
| #include "atn/RuleStartState.h" |
| #include "atn/RuleTransition.h" |
| |
| using namespace antlr4::atn; |
| |
| RuleTransition::RuleTransition(RuleStartState *ruleStart, size_t ruleIndex, ATNState *followState) |
| : RuleTransition(ruleStart, ruleIndex, 0, followState) { |
| } |
| |
| RuleTransition::RuleTransition(RuleStartState *ruleStart, size_t ruleIndex, int precedence, ATNState *followState) |
| : Transition(ruleStart), ruleIndex(ruleIndex), precedence(precedence) { |
| this->followState = followState; |
| } |
| |
| Transition::SerializationType RuleTransition::getSerializationType() const { |
| return RULE; |
| } |
| |
| bool RuleTransition::isEpsilon() const { |
| return true; |
| } |
| |
| bool RuleTransition::matches(size_t /*symbol*/, size_t /*minVocabSymbol*/, size_t /*maxVocabSymbol*/) const { |
| return false; |
| } |
| |
| std::string RuleTransition::toString() const { |
| std::stringstream ss; |
| ss << "RULE " << Transition::toString() << " { ruleIndex: " << ruleIndex << ", precedence: " << precedence << |
| ", followState: " << std::hex << followState << " }"; |
| return ss.str(); |
| } |