* @return number of messages reported with level ERROR or above
* @throws any unchecked exceptions the compiler does
*/
public static int bareMain(String[] args, boolean useSystemExit, List fails, List errors, List warnings, List infos) {
Main main = new Main();
MessageHandler holder = new MessageHandler();
main.setHolder(holder);
try {
main.runMain(args, useSystemExit);
} finally {
readMessages(holder, IMessage.FAIL, true, fails);
readMessages(holder, IMessage.ERROR, false, errors);
readMessages(holder, IMessage.WARNING, false, warnings);
readMessages(holder, IMessage.INFO, false, infos);
}
return holder.numMessages(IMessage.ERROR, true);
}