/* * Copyright (c) 2012 Sam Harwell, Tunnel Vision Laboratories LLC * All rights reserved. * * The source code of this document is proprietary work, and is not licensed for * distribution. For information about licensing, contact Sam Harwell at: * sam@tunnelvisionlabs.com */ package org.antlr.works.editor.antlr4.completion; import java.util.List; import java.util.Map; import org.antlr.v4.runtime.RecognitionException; import org.antlr.v4.runtime.RuleContext; import org.antlr.v4.runtime.atn.ATNConfig; import org.antlr.v4.runtime.atn.Transition; /** * * @author Sam Harwell */ public class CaretReachedException extends RuntimeException { private final RuleContext finalContext; private final CaretToken caretToken; private final Map<ATNConfig, List<Transition>> transitions; public CaretReachedException(RuleContext finalContext, CaretToken caretToken, Map<ATNConfig, List<Transition>> transitions, RecognitionException cause) { super(cause); this.finalContext = finalContext; this.caretToken = caretToken; this.transitions = transitions; } public RuleContext getFinalContext() { return finalContext; } public CaretToken getCaretToken() { return caretToken; } public Map<ATNConfig, List<Transition>> getTransitions() { return transitions; } @Override public RecognitionException getCause() { return (RecognitionException)super.getCause(); } }