1 /*
2  * Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
3  * Use of this file is governed by the BSD 3-clause license that
4  * can be found in the LICENSE.txt file in the project root.
5  */
6 
7 package org.antlr.v4.runtime.atn;
8 
9 /**
10  *
11  * @author Sam Harwell
12  */
13 public final class PrecedencePredicateTransition extends AbstractPredicateTransition {
14 	public final int precedence;
15 
PrecedencePredicateTransition(ATNState target, int precedence)16 	public PrecedencePredicateTransition(ATNState target, int precedence) {
17 		super(target);
18 		this.precedence = precedence;
19 	}
20 
21 	@Override
getSerializationType()22 	public int getSerializationType() {
23 		return PRECEDENCE;
24 	}
25 
26 	@Override
isEpsilon()27 	public boolean isEpsilon() {
28 		return true;
29 	}
30 
31 	@Override
matches(int symbol, int minVocabSymbol, int maxVocabSymbol)32 	public boolean matches(int symbol, int minVocabSymbol, int maxVocabSymbol) {
33 		return false;
34 	}
35 
getPredicate()36 	public SemanticContext.PrecedencePredicate getPredicate() {
37 		return new SemanticContext.PrecedencePredicate(precedence);
38 	}
39 
40 	@Override
toString()41 	public String toString() {
42 		return precedence + " >= _p";
43 	}
44 
45 }
46