| /* 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 "Exceptions.h" |
| #include "support/Arrays.h" |
| |
| #include "atn/Transition.h" |
| |
| using namespace antlr4; |
| using namespace antlr4::atn; |
| |
| using namespace antlrcpp; |
| |
| const std::vector<std::string> Transition::serializationNames = { |
| "INVALID", "EPSILON", "RANGE", "RULE", "PREDICATE", "ATOM", "ACTION", "SET", "NOT_SET", "WILDCARD", "PRECEDENCE" |
| }; |
| |
| Transition::Transition(ATNState *target) { |
| if (target == nullptr) { |
| throw NullPointerException("target cannot be null."); |
| } |
| |
| this->target = target; |
| } |
| |
| Transition::~Transition() { |
| } |
| |
| bool Transition::isEpsilon() const { |
| return false; |
| } |
| |
| misc::IntervalSet Transition::label() const { |
| return misc::IntervalSet::EMPTY_SET; |
| } |
| |
| std::string Transition::toString() const { |
| std::stringstream ss; |
| ss << "(Transition " << std::hex << this << ", target: " << std::hex << target << ')'; |
| |
| return ss.str(); |
| } |