public Configuration configuration() throws IOException, ConfigurationException {
final DescriptiveErrorListener error_listener = new DescriptiveErrorListener();
final ConfigTokenizer lexer = new ConfigTokenizer(CharStreams.fromReader(reader_));
lexer.removeErrorListeners();
lexer.addErrorListener(error_listener);
final ConfigParser parser = new ConfigParser(new BufferedTokenStream(lexer));
parser.removeErrorListeners();
parser.addErrorListener(error_listener);
dir_.ifPresent(parser::setDir);
final ConfigParser.ExprContext expr;
try {
expr = parser.expr();
} catch (Exception ex) {
LOG.log(Level.SEVERE, "parser yielded exceptional return", ex);
if (!error_listener.errors.isEmpty())
throw new ConfigurationException(error_listener.errors, ex);
else
throw ex;
}
if (!error_listener.errors.isEmpty()) {
if (expr.exception != null)
throw new ConfigurationException(error_listener.errors, expr.exception);
throw new ConfigurationException(error_listener.errors);
} else if (expr.exception != null) {
throw new ConfigurationException(expr.exception);
}
return expr.s;
}
ParserSupport.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:monsoon
作者:
评论列表
文章目录