mirror of
https://github.com/arduino/Arduino.git
synced 2025-01-21 10:52:14 +01:00
Preserve "fatal" in compiler errors
When transforming compiler errors (to make filenames more friendly), it would match "fatal error" or "error" but then always reconstruct as "error", modifying the compiler error in a way that is not intended. This commit fixes that, as well as the previous hardcoding of the "error: " prefix when rebuilding the error message, by capturing this entire prefix and simply reproducing it in the resulting error message.
This commit is contained in:
parent
e387c23b60
commit
3d4b026b50
@ -134,7 +134,7 @@ public class Compiler implements MessageConsumer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Pattern ERROR_FORMAT = Pattern.compile("(.+\\.\\w+):(\\d+)(:\\d+)*:\\s*(fatal)?\\s*error:\\s*(.*)\\s*", Pattern.MULTILINE | Pattern.DOTALL);
|
private static final Pattern ERROR_FORMAT = Pattern.compile("(.+\\.\\w+):(\\d+)(:\\d+)*:\\s*((fatal)?\\s*error:\\s*)(.*)\\s*", Pattern.MULTILINE | Pattern.DOTALL);
|
||||||
|
|
||||||
private final File pathToSketch;
|
private final File pathToSketch;
|
||||||
private final Sketch sketch;
|
private final Sketch sketch;
|
||||||
@ -522,7 +522,8 @@ public class Compiler implements MessageConsumer {
|
|||||||
if (pieces[3] != null) {
|
if (pieces[3] != null) {
|
||||||
col = PApplet.parseInt(pieces[3].substring(1));
|
col = PApplet.parseInt(pieces[3].substring(1));
|
||||||
}
|
}
|
||||||
String error = pieces[5];
|
String errorPrefix = pieces[4];
|
||||||
|
String error = pieces[6];
|
||||||
|
|
||||||
if (error.trim().equals("SPI.h: No such file or directory")) {
|
if (error.trim().equals("SPI.h: No such file or directory")) {
|
||||||
error = tr("Please import the SPI library from the Sketch > Import Library menu.");
|
error = tr("Please import the SPI library from the Sketch > Import Library menu.");
|
||||||
@ -583,7 +584,7 @@ public class Compiler implements MessageConsumer {
|
|||||||
int lineNum = ex.getCodeLine() + 1;
|
int lineNum = ex.getCodeLine() + 1;
|
||||||
int colNum = ex.getCodeColumn();
|
int colNum = ex.getCodeColumn();
|
||||||
String column = (colNum != -1) ? (":" + colNum) : "";
|
String column = (colNum != -1) ? (":" + colNum) : "";
|
||||||
s = fileName + ":" + lineNum + column + ": error: " + error + msg;
|
s = fileName + ":" + lineNum + column + ": " + errorPrefix + error + msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ex != null) {
|
if (ex != null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user