Introduce CompilerMessageSeverity.STRONG_WARNING

This is a severity for mandatory warnings, i.e. those which should be reported
in any case, even if there are compilation errors
This commit is contained in:
Alexander Udalov
2017-01-27 16:40:12 +03:00
parent 268d10d3f0
commit 7ac96163ac
8 changed files with 60 additions and 22 deletions
@@ -49,7 +49,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer {
private static final String LINE_SEPARATOR = LineSeparator.getSystemLineSeparator().getSeparatorString();
private static final Set<CompilerMessageSeverity> IMPORTANT_MESSAGE_SEVERITIES = EnumSet.of(EXCEPTION, ERROR, WARNING);
private static final Set<CompilerMessageSeverity> IMPORTANT_MESSAGE_SEVERITIES = EnumSet.of(EXCEPTION, ERROR, STRONG_WARNING, WARNING);
@Override
public String renderPreamble() {
@@ -83,7 +83,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer {
Ansi ansi = Ansi.ansi()
.bold()
.fg(severityColor(severity))
.a(severity.name().toLowerCase())
.a(severity.getPresentableName())
.a(": ")
.reset();
@@ -102,7 +102,7 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer {
}
}
else {
result.append(severity.name().toLowerCase());
result.append(severity.getPresentableName());
result.append(": ");
result.append(decapitalizeIfNeeded(message));
}
@@ -141,6 +141,8 @@ public abstract class PlainTextMessageRenderer implements MessageRenderer {
return Ansi.Color.RED;
case ERROR:
return Ansi.Color.RED;
case STRONG_WARNING:
return Ansi.Color.YELLOW;
case WARNING:
return Ansi.Color.YELLOW;
case INFO:
@@ -28,7 +28,8 @@ public class XmlMessageRenderer implements MessageRenderer {
@Override
public String render(@NotNull CompilerMessageSeverity severity, @NotNull String message, @NotNull CompilerMessageLocation location) {
StringBuilder out = new StringBuilder();
out.append("<").append(severity.toString());
String tagName = severity.getPresentableName();
out.append("<").append(tagName);
if (location.getPath() != null) {
out.append(" path=\"").append(e(location.getPath())).append("\"");
out.append(" line=\"").append(location.getLine()).append("\"");
@@ -38,11 +39,11 @@ public class XmlMessageRenderer implements MessageRenderer {
out.append(e(message));
out.append("</").append(severity.toString()).append(">\n");
out.append("</").append(tagName).append(">\n");
return out.toString();
}
private String e(String str) {
private static String e(String str) {
return StringUtil.escapeXml(str);
}