class Antlr4::Runtime::FailedPredicateException

Attributes

predicate[R]
predicate_index[R]
rule_index[R]

Public Class Methods

new(recognizer, predicate = nil, message = nil) click to toggle source
Calls superclass method
# File lib/antlr4/runtime/failed_predicate_exception.rb, line 8
def initialize(recognizer, predicate = nil, message = nil)
  super(format_message(predicate, message))
  @recognizer = recognizer
  @input = recognizer.input_stream
  @context = recognizer._ctx

  s = recognizer._interp.atn.states.get(recognizer.getState)

  trans = s.transition(0)
  if trans.is_a? PredicateTransition
    @rule_index = trans.rule_index
    @predicate_index = trans.pred_index
  else
    @rule_index = 0
    @predicate_index = 0
  end

  @predicate = predicate
  @offending_token = recognizer.current_token
end

Public Instance Methods

format_message(predicate, message) click to toggle source
# File lib/antlr4/runtime/failed_predicate_exception.rb, line 29
def format_message(predicate, message)
  message.nil? ? message : "failed predicate: {" + predicate + "}?"
end