1 /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2 * Use of this file is governed by the BSD 3-clause license that
3 * can be found in the LICENSE.txt file in the project root.
8 #include "atn/Transition.h"
13 class ANTLR4CPP_PUBLIC EpsilonTransition final : public Transition {
15 EpsilonTransition(ATNState *target);
16 EpsilonTransition(ATNState *target, size_t outermostPrecedenceReturn);
19 * @return the rule index of a precedence rule for which this transition is
20 * returning from, where the precedence value is 0; otherwise, INVALID_INDEX.
22 * @see ATNConfig#isPrecedenceFilterSuppressed()
23 * @see ParserATNSimulator#applyPrecedenceFilter(ATNConfigSet)
26 size_t outermostPrecedenceReturn();
27 virtual SerializationType getSerializationType() const override;
29 virtual bool isEpsilon() const override;
30 virtual bool matches(size_t symbol, size_t minVocabSymbol, size_t maxVocabSymbol) const override;
32 virtual std::string toString() const override;
35 const size_t _outermostPrecedenceReturn; // A rule index.