} catch(antlr.RecognitionException re) {
IResource errorFile = null; // if this remains null, the error is reported back on the sketch itself with no line number
int errorLine = re.getLine() - 1;
for (IResource file : sketch.members()) {
if ("pde".equalsIgnoreCase(file.getFileExtension())) {
int low = (Integer) file.getSessionProperty(new QualifiedName(BUILDER_ID, "preproc start"));
int high = (Integer) file.getSessionProperty(new QualifiedName(BUILDER_ID, "preproc end"));
if (low <= errorLine && high > errorLine) {
errorFile = file;