| /* 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/NotSetTransition.h" |
| #include "atn/ATNState.h" |
| #include "misc/IntervalSet.h" |
| |
| using namespace antlr4; |
| using namespace antlr4::atn; |
| |
| NotSetTransition::NotSetTransition(ATNState *target, const misc::IntervalSet &set) : SetTransition(target, set) { |
| } |
| |
| Transition::SerializationType NotSetTransition::getSerializationType() const { |
| return NOT_SET; |
| } |
| |
| bool NotSetTransition::matches(size_t symbol, size_t minVocabSymbol, size_t maxVocabSymbol) const { |
| return symbol >= minVocabSymbol && symbol <= maxVocabSymbol |
| && !SetTransition::matches(symbol, minVocabSymbol, maxVocabSymbol); |
| } |
| |
| std::string NotSetTransition::toString() const { |
| return "NOT_SET " + Transition::toString() + " { " + SetTransition::toString() + " }"; |
| } |