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