?? log.java
字號:
printLines(errWriter, getLocalizedString("source.unavailable")); } finally { errWriter.flush(); } } /** * Print the text of a message, translating newlines approprately * for the platform. */ public static void printLines(PrintWriter writer, String msg) { int nl; while ((nl = msg.indexOf('\n')) != -1) { writer.println(msg.substring(0, nl)); msg = msg.substring(nl + 1); } if (msg.length() != 0) writer.println(msg); } /** * Print an error or warning message. * @param pos The source position at which to report the message. * @param msg The message to report. */ private void printError(int pos, String msg, PrintWriter writer) { if (pos == Position.NOPOS) { writer.print( getText("compiler.err.error", null, null, null, null, null, null, null)); printLines(writer, msg); } else { int line = Position.line(pos); int col = Position.column(pos); printLines(writer, sourcename + ":" + line + ": " + msg); printErrLine(line, col, writer); } writer.flush(); } /** * Report an error, unless another error was already reported at same * source position. * @param pos The source position at which to report the error. * @param key The error message to report. */ public void error(int pos, String key) { error(pos, key, null, null, null, null, null, null, null); } public void error(int pos, String key, String arg0) { error(pos, key, arg0, null, null, null, null, null, null); } public void error(int pos, String key, String arg0, String arg1) { error(pos, key, arg0, arg1, null, null, null, null, null); } public void error(int pos, String key, String arg0, String arg1, String arg2) { error(pos, key, arg0, arg1, arg2, null, null, null, null); } public void error(int pos, String key, String arg0, String arg1, String arg2, String arg3) { error(pos, key, arg0, arg1, arg2, arg3, null, null, null); } public void error(int pos, String key, String arg0, String arg1, String arg2, String arg3, String arg4) { error(pos, key, arg0, arg1, arg2, arg3, arg4, null, null); } public void error(int pos, String key, String arg0, String arg1, String arg2, String arg3, String arg4, String arg5) { error(pos, key, arg0, arg1, arg2, arg3, arg4, arg5, null); } public void error(int pos, String key, String arg0, String arg1, String arg2, String arg3, String arg4, String arg5, String arg6) { if (nerrors < MaxErrors) { Pair coords = new Pair(sourcename, new Integer(pos)); if (!recorded.contains(coords)) { recorded.put(coords); String msg = getText("compiler.err." + key, arg0, arg1, arg2, arg3, arg4, arg5, arg6); printError(pos, msg, errWriter); prompt(); nerrors++; } } } /** * Report a warning. * @param pos The source position at which to report the warning. * @param key The key for the localized warning message. */ public void warning(int pos, String key) { warning(pos, key, null, null, null, null); } public void warning(int pos, String key, String arg0) { warning(pos, key, arg0, null, null, null); } public void warning(int pos, String key, String arg0, String arg1) { warning(pos, key, arg0, arg1, null, null); } public void warning(int pos, String key, String arg0, String arg1, String arg2) { warning(pos, key, arg0, arg1, arg2, null); } public void warning(int pos, String key, String arg0, String arg1, String arg2, String arg3) { if (nwarnings < MaxWarnings && emitWarnings) { String msg = getText("compiler.warn." + key, arg0, arg1, arg2, arg3, null, null, null); printError(pos, getText("compiler.warn.warning", null, null, null, null, null, null, null) + msg, warnWriter); } nwarnings++; } /** * Provide a non-fatal notification. * @param key The notification to send to System.err. */ public void note(String key) { note(key, null); } public void note(String key, String arg0) { if (emitWarnings) { noticeWriter.print( getText("compiler.note.note", null, null, null, null, null, null, null)); String msg = getText("compiler.note." + key, arg0, null, null, null, null, null, null); printLines(noticeWriter, msg); noticeWriter.flush(); } } /** * Find a localized string in the resource bundle. * @param key The key for the localized string. */ public static String getLocalizedString(String key) { return getText("compiler.misc." + key, null, null, null, null, null, null, null); } public static String getLocalizedString(String key, String arg0) { return getText("compiler.misc." + key, arg0, null, null, null, null, null, null); } public static String getLocalizedString(String key, String arg0, String arg1) { return getText("compiler.misc." + key, arg0, arg1, null, null, null, null, null); } public static String getLocalizedString(String key, String arg0, String arg1, String arg2) { return getText("compiler.misc." + key, arg0, arg1, arg2, null, null, null, null); } public static String getLocalizedString(String key, String arg0, String arg1, String arg2, String arg3) { return getText("compiler.misc." + key, arg0, arg1, arg2, arg3, null, null, null); } private static final String compilerRB = "com.sun.tools.javac.v8.resources.compiler"; private static ResourceBundle messageRB; /** * Initialize ResourceBundle. */ private static void initResource() { try { messageRB = ResourceBundle.getBundle(compilerRB); } catch (MissingResourceException e) { throw new Error("Fatal: Resource for compiler is missing"); } } /** * Get and format message string from resource. */ public static String getText(String key, String arg0, String arg1, String arg2, String arg3, String arg4, String arg5, String arg6) { if (messageRB == null) initResource(); try { String[] args = {arg0, arg1, arg2, arg3, arg4, arg5, arg6}; return MessageFormat.format(messageRB.getString(key), args); } catch (MissingResourceException e) { if (arg0 == null) arg0 = "null"; if (arg1 == null) arg1 = "null"; if (arg2 == null) arg2 = "null"; if (arg3 == null) arg3 = "null"; if (arg4 == null) arg4 = "null"; if (arg5 == null) arg5 = "null"; if (arg6 == null) arg6 = "null"; String[] args = {key, arg0, arg1, arg2, arg3, arg4, arg5, arg6}; String msg = "compiler message file broken: key={0} arguments={1}, {2}, {3}, {4}, {5}, {6}, {7}"; return MessageFormat.format(msg, args); } } /** * print an error or warning message: */ private void printRawError(int pos, String msg) { if (pos == Position.NOPOS) { printLines(errWriter, "error: " + msg); } else { int line = Position.line(pos); int col = Position.column(pos); printLines(errWriter, sourcename + ":" + line + ": " + msg); printErrLine(line, col, errWriter); } errWriter.flush(); } /** * report an error: */ public void rawError(int pos, String msg) { if (nerrors < MaxErrors) { Pair coords = new Pair(sourcename, new Integer(pos)); if (!recorded.contains(coords)) { recorded.put(coords); printRawError(pos, msg); prompt(); nerrors++; } } errWriter.flush(); } /** * report a warning: */ public void rawWarning(int pos, String msg) { if (nwarnings < MaxWarnings && emitWarnings) { printRawError(pos, "warning: " + msg); } nwarnings++; errWriter.flush(); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -