package qls.errorhandling; import ql.ast.Expression; import ql.ast.QLNode; import ql.ast.QLType; import ql.ast.visitor.prettyprinter.printer.WriterCache; import qls.ast.Statement; import qls.ast.visitor.prettyprinter.PrettyPrinter; public class Error extends ql.errorhandling.Error { public Error(QLNode origin, String errorMessage) { super(origin, errorMessage); } @Override protected String getErrorSourceString() { WriterCache writerCache = new WriterCache(); if(getOrigin() instanceof Expression) { PrettyPrinter.print((Expression) getOrigin(), writerCache); } else if(getOrigin() instanceof Statement) { PrettyPrinter.print((Statement) getOrigin(), writerCache); } else { PrettyPrinter.print((QLType) getOrigin(), writerCache); } return writerCache.getCachedString(); } }