1/** A semantic predicate failed during validation.  Validation of predicates
2 *  occurs when normally parsing the alternative just like matching a token.
3 *  Disambiguating predicate evaluation occurs when we hoist a predicate into
4 *  a prediction decision.
5 *
6 *  @class
7 *  @param {org.antlr.runtime.CommonTokenStream|org.antlr.runtime.tree.TreeNodeStream|org.antlr.runtime.ANTLRStringStream} input input stream that has an exception.
8 *  @param {String} ruleName name of the rule in which the exception occurred.
9 *  @param {String} predicateText the predicate that failed.
10 *  @extends org.antlr.runtime.RecognitionException
11 */
12org.antlr.runtime.FailedPredicateException = function(input, ruleName, predicateText){
13    org.antlr.runtime.FailedPredicateException.superclass.constructor.call(this, input);
14    this.ruleName = ruleName;
15    this.predicateText = predicateText;
16};
17
18org.antlr.lang.extend(
19    org.antlr.runtime.FailedPredicateException,
20    org.antlr.runtime.RecognitionException,
21/** @lends org.antlr.runtime.FailedPredicateException.prototype */
22{
23    /** Create a string representation of this exception.
24     *  @returns {String}
25     */
26    toString: function() {
27        return "FailedPredicateException("+this.ruleName+",{"+this.predicateText+"}?)";
28    },
29
30    /** Name of this class.
31     *  @type String
32     */
33    name: "org.antlr.runtime.FailedPredicateException"
34});
35