@Override
public void recover(Parser recognizer, RecognitionException e) {
if (recognizer instanceof CodeCompletionParser
&& ((CodeCompletionParser)recognizer).getInterpreter().getCaretTransitions() != null) {
// int stateNumber = recognizer.getContext().s;
// ATNState state = recognizer.getATN().states.get(stateNumber);
// if (state instanceof DecisionState && recognizer.getInputStream() instanceof ObjectStream) {
// int decision = ((DecisionState)state).decision;
// ParserATNSimulator simulator = recognizer.getInterpreter();
// int prediction = simulator.adaptivePredict((ObjectStream)recognizer.getInputStream(), decision, recognizer.getContext());
// }
CodeCompletionParser parser = (CodeCompletionParser)recognizer;
CaretToken token = parser.getInterpreter().getCaretToken();
AbstractCompletionParserATNSimulator interpreter = parser.getInterpreter();
throw new CaretReachedException(parser.getContext(), token, interpreter.getCaretTransitions(), e);
}
// TODO: incorporate error recovery as a fallback option if no trees match correctly
throw e;
//super.recover(recognizer, e);
}
CodeCompletionErrorStrategy.java 文件源码
java
阅读 21
收藏 0
点赞 0
评论 0
项目:goworks
作者:
评论列表
文章目录