Mercurial > lada > lada-server
view src/main/java/de/intevation/lada/importer/laf/LafErrorListener.java @ 1130:82214fdab9c5
Output more comprehensive message instead of token number.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Tue, 01 Nov 2016 13:16:43 +0100 |
parents | d9d57a107478 |
children |
line wrap: on
line source
package de.intevation.lada.importer.laf; import java.util.ArrayList; import java.util.List; import org.antlr.v4.runtime.BaseErrorListener; import org.antlr.v4.runtime.RecognitionException; import org.antlr.v4.runtime.Recognizer; import de.intevation.lada.importer.ReportItem; public class LafErrorListener extends BaseErrorListener { public static LafErrorListener INSTANCE = new LafErrorListener(); private List<ReportItem> errors = new ArrayList<ReportItem>(); @Override public void syntaxError( Recognizer<?, ?> recognizer, Object offendingSymbol, int line, int charPositionInLine, String msg, RecognitionException e ) { String sourceName = "Parser"; if (e != null && e.getCtx() != null) { sourceName = e.getCtx().getText(); } ReportItem err = new ReportItem(); err.setKey(sourceName); err.setValue("line " + line + ": " + msg); err.setCode(670); this.errors.add(err); } public void reset() { this.errors.clear(); } public List<ReportItem> getErrors() { return this.errors; } }