package org.checkerframework.framework.test.diagnostics; import java.util.LinkedHashMap; import java.util.Map; /** Indicates what type of Error was, or expected to be, encountered during typechecking */ public enum DiagnosticKind { Warning("warning"), Error("error"), Other("other"); /** How the diagnostic identifier actually appears in error messages or source code */ public final String parseString; DiagnosticKind(String parseString) { this.parseString = parseString; } private static final Map<String, DiagnosticKind> stringToCategory = new LinkedHashMap<>(); static { for (DiagnosticKind cat : values()) { stringToCategory.put(cat.parseString, cat); } } /** * Convert a string as it would appear in error messages or source code into a DiagnosticKind */ public static DiagnosticKind fromParseString(String parseStr) { return stringToCategory.get(parseStr); } }