Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 jdk.compiler.jmod - Compiler Tool
JDK 11 jdk.compiler.jmod is the JMOD file for JDK 11 Compiler tool, which can be invoked by the "javac" command.
JDK 11 Compiler tool compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.compiler.jmod.
JDK 11 Compiler tool compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Compiler source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.compiler.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/tools/javac/util/MandatoryWarningHandler.java
/* * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.tools.javac.util; import java.util.HashSet; import java.util.Set; import javax.tools.JavaFileObject; import com.sun.tools.javac.code.Lint.LintCategory; import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition; import com.sun.tools.javac.util.JCDiagnostic.Note; import com.sun.tools.javac.util.JCDiagnostic.Warning; /** * A handler to process mandatory warnings, setting up a deferred diagnostic * to be printed at the end of the compilation if some warnings get suppressed * because too many warnings have already been generated. * * Note that the SuppressWarnings annotation can be used to suppress warnings * about conditions that would otherwise merit a warning. Such processing * is done when the condition is detected, and in those cases, no call is * made on any API to generate a warning at all. In consequence, this handler only * Returns to handle those warnings that JLS says must be generated. * * <p><b>This is NOT part of any supported API. * If you write code that depends on this, you do so at your own risk. * This code and its internal interfaces are subject to change or * deletion without notice.</b> */ public class MandatoryWarningHandler { /** * The kinds of different deferred diagnostics that might be generated * if a mandatory warning is suppressed because too many warnings have * already been output. * * The parameter is a fragment used to build an I18N message key for Log. */ private enum DeferredDiagnosticKind { /** * This kind is used when a single specific file is found to have warnings * and no similar warnings have already been given. * It generates a message like: * FILE has ISSUES */ IN_FILE(".filename"), /** * This kind is used when a single specific file is found to have warnings * and when similar warnings have already been reported for the file. * It generates a message like: * FILE has additional ISSUES */ ADDITIONAL_IN_FILE(".filename.additional"), /** * This kind is used when multiple files have been found to have warnings, * and none of them have had any similar warnings. * It generates a message like: * Some files have ISSUES */ IN_FILES(".plural"), /** * This kind is used when multiple files have been found to have warnings, * and some of them have had already had specific similar warnings. * It generates a message like: * Some files have additional ISSUES */ ADDITIONAL_IN_FILES(".plural.additional"); DeferredDiagnosticKind(String v) { value = v; } String getKey(String prefix) { return prefix + value; } private final String value; } /** * Create a handler for mandatory warnings. * @param log The log on which to generate any diagnostics * @param verbose Specify whether or not detailed messages about * individual instances should be given, or whether an aggregate * message should be generated at the end of the compilation. * Typically set via -Xlint:option. * @param enforceMandatory * True if mandatory warnings and notes are being enforced. * @param prefix A common prefix for the set of message keys for * the messages that may be generated. * @param lc An associated lint category for the warnings, or null if none. */ public MandatoryWarningHandler(Log log, boolean verbose, boolean enforceMandatory, String prefix, LintCategory lc) { this.log = log; this.verbose = verbose; this.prefix = prefix; this.enforceMandatory = enforceMandatory; this.lintCategory = lc; } /** * Report a mandatory warning. */ public void report(DiagnosticPosition pos, Warning warnKey) { JavaFileObject currentSource = log.currentSourceFile(); if (verbose) { if (sourcesWithReportedWarnings == null) sourcesWithReportedWarnings = new HashSet<>(); if (log.nwarnings < log.MaxWarnings) { // generate message and remember the source file logMandatoryWarning(pos, warnKey); sourcesWithReportedWarnings.add(currentSource); } else if (deferredDiagnosticKind == null) { // set up deferred message if (sourcesWithReportedWarnings.contains(currentSource)) { // more errors in a file that already has reported warnings deferredDiagnosticKind = DeferredDiagnosticKind.ADDITIONAL_IN_FILE; } else { // warnings in a new source file deferredDiagnosticKind = DeferredDiagnosticKind.IN_FILE; } deferredDiagnosticSource = currentSource; deferredDiagnosticArg = currentSource; } else if ((deferredDiagnosticKind == DeferredDiagnosticKind.IN_FILE || deferredDiagnosticKind == DeferredDiagnosticKind.ADDITIONAL_IN_FILE) && !equal(deferredDiagnosticSource, currentSource)) { // additional errors in more than one source file deferredDiagnosticKind = DeferredDiagnosticKind.ADDITIONAL_IN_FILES; deferredDiagnosticArg = null; } } else { if (deferredDiagnosticKind == null) { // warnings in a single source deferredDiagnosticKind = DeferredDiagnosticKind.IN_FILE; deferredDiagnosticSource = currentSource; deferredDiagnosticArg = currentSource; } else if (deferredDiagnosticKind == DeferredDiagnosticKind.IN_FILE && !equal(deferredDiagnosticSource, currentSource)) { // warnings in multiple source files deferredDiagnosticKind = DeferredDiagnosticKind.IN_FILES; deferredDiagnosticArg = null; } } } /** * Report any diagnostic that might have been deferred by previous calls of report(). */ public void reportDeferredDiagnostic() { if (deferredDiagnosticKind != null) { if (deferredDiagnosticArg == null) logMandatoryNote(deferredDiagnosticSource, deferredDiagnosticKind.getKey(prefix)); else logMandatoryNote(deferredDiagnosticSource, deferredDiagnosticKind.getKey(prefix), deferredDiagnosticArg); if (!verbose) logMandatoryNote(deferredDiagnosticSource, prefix + ".recompile"); } } /** * Check two objects, each possibly null, are either both null or are equal. */ private static boolean equal(Object o1, Object o2) { return ((o1 == null || o2 == null) ? (o1 == o2) : o1.equals(o2)); } /** * The log to which to report warnings. */ private Log log; /** * Whether or not to report individual warnings, or simply to report a * single aggregate warning at the end of the compilation. */ private boolean verbose; /** * The common prefix for all I18N message keys generated by this handler. */ private String prefix; /** * A set containing the names of the source files for which specific * warnings have been generated -- i.e. in verbose mode. If a source name * appears in this list, then deferred diagnostics will be phrased to * include "additionally"... */ private Set<JavaFileObject> sourcesWithReportedWarnings; /** * A variable indicating the latest best guess at what the final * deferred diagnostic will be. Initially as specific and helpful * as possible, as more warnings are reported, the scope of the * diagnostic will be broadened. */ private DeferredDiagnosticKind deferredDiagnosticKind; /** * If deferredDiagnosticKind is IN_FILE or ADDITIONAL_IN_FILE, this variable * gives the value of log.currentSource() for the file in question. */ private JavaFileObject deferredDiagnosticSource; /** * An optional argument to be used when constructing the * deferred diagnostic message, based on deferredDiagnosticKind. * This variable should normally be set/updated whenever * deferredDiagnosticKind is updated. */ private Object deferredDiagnosticArg; /** * True if mandatory warnings and notes are being enforced. */ private final boolean enforceMandatory; /** * A LintCategory to be included in point-of-use diagnostics to indicate * how messages might be suppressed (i.e. with @SuppressWarnings). */ private final LintCategory lintCategory; /** * Reports a mandatory warning to the log. If mandatory warnings * are not being enforced, treat this as an ordinary warning. */ private void logMandatoryWarning(DiagnosticPosition pos, Warning warnKey) { // Note: the following log methods are safe if lintCategory is null. if (enforceMandatory) log.mandatoryWarning(lintCategory, pos, warnKey); else log.warning(lintCategory, pos, warnKey); } /** * Reports a mandatory note to the log. If mandatory notes are * not being enforced, treat this as an ordinary note. */ private void logMandatoryNote(JavaFileObject file, String msg, Object... args) { if (enforceMandatory) log.mandatoryNote(file, new Note("compiler", msg, args)); else log.note(file, new Note("compiler", msg, args)); } }
⏎ com/sun/tools/javac/util/MandatoryWarningHandler.java
Or download all of them as a single archive file:
File name: jdk.compiler-11.0.1-src.zip File size: 1347269 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.crypto.cryptoki.jmod - Crypto KI Module
2020-08-13, 114952👍, 0💬
Popular Posts:
What JAR files are required to run dom\Writer.java provided in the Apache Xerces package? 3 JAR file...
The Apache FontBox library is an open source Java tool to obtain low level information from font fil...
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
JDK 11 jdk.compiler.jmod is the JMOD file for JDK 11 Compiler tool, which can be invoked by the "jav...
Commons VFS provides a single API for accessing various different file systems. It presents a unifor...