From 89e5e7ab73472b7d02aac5b8b0c7e9f26db6ec32 Mon Sep 17 00:00:00 2001 From: Archie Cobbs Date: Thu, 6 Feb 2025 01:52:51 +0000 Subject: [PATCH] 8349155: The "log" parameter to Lint.logIfEnabled() is not needed Reviewed-by: mcimadamore --- .../com/sun/tools/javac/code/Lint.java | 11 +++---- .../com/sun/tools/javac/comp/Attr.java | 10 +++---- .../com/sun/tools/javac/comp/Check.java | 30 +++++++++---------- .../com/sun/tools/javac/comp/Flow.java | 4 +-- .../com/sun/tools/javac/file/Locations.java | 12 ++++---- .../com/sun/tools/javac/jvm/ClassReader.java | 10 +++---- .../tools/javac/processing/JavacFiler.java | 8 ++--- .../JavacProcessingEnvironment.java | 8 ++--- 8 files changed, 47 insertions(+), 46 deletions(-) diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java index b3f7e23ed03..ca888676009 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Lint.java @@ -109,6 +109,7 @@ public class Lint { private final Context context; private final Options options; + private final Log log; // These are initialized lazily to avoid dependency loops private Symtab syms; @@ -125,6 +126,7 @@ public class Lint { this.context = context; context.put(lintKey, this); options = Options.instance(context); + log = Log.instance(context); } // Instantiate a non-root ("symbol scoped") instance @@ -132,6 +134,7 @@ public class Lint { other.initializeRootIfNeeded(); this.context = other.context; this.options = other.options; + this.log = other.log; this.syms = other.syms; this.names = other.names; this.values = other.values.clone(); @@ -434,21 +437,19 @@ public class Lint { /** * Helper method. Log a lint warning if its lint category is enabled. * - * @param log warning destination * @param warning key for the localized warning message */ - public void logIfEnabled(Log log, LintWarning warning) { - logIfEnabled(log, null, warning); + public void logIfEnabled(LintWarning warning) { + logIfEnabled(null, warning); } /** * Helper method. Log a lint warning if its lint category is enabled. * - * @param log warning destination * @param pos source position at which to report the warning * @param warning key for the localized warning message */ - public void logIfEnabled(Log log, DiagnosticPosition pos, LintWarning warning) { + public void logIfEnabled(DiagnosticPosition pos, LintWarning warning) { if (isEnabled(warning.getLintCategory())) { log.warning(pos, warning); } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java index 6f97aabcf3d..899cdaee82b 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java @@ -1949,7 +1949,7 @@ public class Attr extends JCTree.Visitor { public void visitSynchronized(JCSynchronized tree) { chk.checkRefType(tree.pos(), attribExpr(tree.lock, env)); if (isValueBased(tree.lock.type)) { - env.info.lint.logIfEnabled(log, tree.pos(), LintWarnings.AttemptToSynchronizeOnInstanceOfValueBasedClass); + env.info.lint.logIfEnabled(tree.pos(), LintWarnings.AttemptToSynchronizeOnInstanceOfValueBasedClass); } attribStat(tree.body, env); result = null; @@ -2056,7 +2056,7 @@ public class Attr extends JCTree.Visitor { if (close.kind == MTH && close.overrides(syms.autoCloseableClose, resource.tsym, types, true) && chk.isHandled(syms.interruptedExceptionType, types.memberType(resource, close).getThrownTypes())) { - env.info.lint.logIfEnabled(log, pos, LintWarnings.TryResourceThrowsInterruptedExc(resource)); + env.info.lint.logIfEnabled(pos, LintWarnings.TryResourceThrowsInterruptedExc(resource)); } } } @@ -4456,7 +4456,7 @@ public class Attr extends JCTree.Visitor { sym.kind == MTH && sym.name.equals(names.close) && sym.overrides(syms.autoCloseableClose, sitesym.type.tsym, types, true)) { - env.info.lint.logIfEnabled(log, tree, LintWarnings.TryExplicitCloseCall); + env.info.lint.logIfEnabled(tree, LintWarnings.TryExplicitCloseCall); } // Disallow selecting a type from an expression @@ -4483,9 +4483,9 @@ public class Attr extends JCTree.Visitor { // If the qualified item is not a type and the selected item is static, report // a warning. Make allowance for the class of an array type e.g. Object[].class) if (!sym.owner.isAnonymous()) { - chk.lint.logIfEnabled(log, tree, LintWarnings.StaticNotQualifiedByType(sym.kind.kindName(), sym.owner)); + chk.lint.logIfEnabled(tree, LintWarnings.StaticNotQualifiedByType(sym.kind.kindName(), sym.owner)); } else { - chk.lint.logIfEnabled(log, tree, LintWarnings.StaticNotQualifiedByType2(sym.kind.kindName())); + chk.lint.logIfEnabled(tree, LintWarnings.StaticNotQualifiedByType2(sym.kind.kindName())); } } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java index a76dab2bb31..32e71fd590f 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Check.java @@ -285,7 +285,7 @@ public class Check { * @param msg A Warning describing the problem. */ public void warnRestrictedAPI(DiagnosticPosition pos, Symbol sym) { - lint.logIfEnabled(log, pos, LintWarnings.RestrictedMethod(sym.enclClass(), sym)); + lint.logIfEnabled(pos, LintWarnings.RestrictedMethod(sym.enclClass(), sym)); } /** Warn about unchecked operation. @@ -649,7 +649,7 @@ public class Check { && !(ignoreAnnotatedCasts && TreeInfo.containsTypeAnnotation(tree.clazz)) && !is292targetTypeCast(tree)) { deferredLintHandler.report(_l -> { - lint.logIfEnabled(log, tree.pos(), LintWarnings.RedundantCast(tree.clazz.type)); + lint.logIfEnabled(tree.pos(), LintWarnings.RedundantCast(tree.clazz.type)); }); } } @@ -954,7 +954,7 @@ public class Check { } } else if (hasTrustMeAnno && varargElemType != null && types.isReifiable(varargElemType)) { - lint.logIfEnabled(log, tree, LintWarnings.VarargsRedundantTrustmeAnno( + lint.logIfEnabled(tree, LintWarnings.VarargsRedundantTrustmeAnno( syms.trustMeType.tsym, diags.fragment(Fragments.VarargsTrustmeOnReifiableVarargs(varargElemType)))); } @@ -1323,7 +1323,7 @@ public class Check { private void warnOnExplicitStrictfp(DiagnosticPosition pos) { DiagnosticPosition prevLintPos = deferredLintHandler.setPos(pos); try { - deferredLintHandler.report(_ -> lint.logIfEnabled(log, pos, LintWarnings.Strictfp)); + deferredLintHandler.report(_ -> lint.logIfEnabled(pos, LintWarnings.Strictfp)); } finally { deferredLintHandler.setPos(prevLintPos); } @@ -1542,7 +1542,7 @@ public class Check { !TreeInfo.isDiamond(tree) && !withinAnonConstr(env) && tree.type.isRaw()) { - lint.logIfEnabled(log, tree.pos(), LintWarnings.RawClassUse(tree.type, tree.type.tsym.type)); + lint.logIfEnabled(tree.pos(), LintWarnings.RawClassUse(tree.type, tree.type.tsym.type)); } } //where @@ -1866,7 +1866,7 @@ public class Check { // Optional warning if varargs don't agree if ((((m.flags() ^ other.flags()) & Flags.VARARGS) != 0)) { - lint.logIfEnabled(log, TreeInfo.diagnosticPositionFor(m, tree), + lint.logIfEnabled(TreeInfo.diagnosticPositionFor(m, tree), ((m.flags() & Flags.VARARGS) != 0) ? LintWarnings.OverrideVarargsMissing(varargsOverrides(m, other)) : LintWarnings.OverrideVarargsExtra(varargsOverrides(m, other))); @@ -4121,7 +4121,7 @@ public class Check { int opc = ((OperatorSymbol)operator).opcode; if (opc == ByteCodes.idiv || opc == ByteCodes.imod || opc == ByteCodes.ldiv || opc == ByteCodes.lmod) { - deferredLintHandler.report(_ -> lint.logIfEnabled(log, pos, LintWarnings.DivZero)); + deferredLintHandler.report(_ -> lint.logIfEnabled(pos, LintWarnings.DivZero)); } } } @@ -4135,7 +4135,7 @@ public class Check { void checkLossOfPrecision(final DiagnosticPosition pos, Type found, Type req) { if (found.isNumeric() && req.isNumeric() && !types.isAssignable(found, req)) { deferredLintHandler.report(_ -> - lint.logIfEnabled(log, pos, LintWarnings.PossibleLossOfPrecision(found, req))); + lint.logIfEnabled(pos, LintWarnings.PossibleLossOfPrecision(found, req))); } } @@ -4144,7 +4144,7 @@ public class Check { */ void checkEmptyIf(JCIf tree) { if (tree.thenpart.hasTag(SKIP) && tree.elsepart == null) { - lint.logIfEnabled(log, tree.thenpart.pos(), LintWarnings.EmptyIf); + lint.logIfEnabled(tree.thenpart.pos(), LintWarnings.EmptyIf); } } @@ -4291,7 +4291,7 @@ public class Check { rs.isAccessible(env, c) && !fileManager.isSameFile(c.sourcefile, env.toplevel.sourcefile)) { - lint.logIfEnabled(log, pos, + lint.logIfEnabled(pos, LintWarnings.AuxiliaryClassAccessedFromOutsideOfItsSourceFile(c, c.sourcefile)); } } @@ -4335,7 +4335,7 @@ public class Check { // annotations; check again for being // enabled in the deferred context. deferredLintHandler.report(_ -> - lint.logIfEnabled(log, pos, LintWarnings.MissingExplicitCtor(c, pkg, modle))); + lint.logIfEnabled(pos, LintWarnings.MissingExplicitCtor(c, pkg, modle))); } else { return; } @@ -4371,7 +4371,7 @@ public class Check { method.attribute(syms.trustMeType.tsym) != null && isTrustMeAllowedOnMethod(method) && !types.isReifiable(method.type.getParameterTypes().last())) { - Check.this.lint.logIfEnabled(log, pos(), LintWarnings.VarargsUnsafeUseVarargsParam(method.params.last())); + Check.this.lint.logIfEnabled(pos(), LintWarnings.VarargsUnsafeUseVarargsParam(method.params.last())); } break; default: @@ -4670,7 +4670,7 @@ public class Check { void checkModuleExists(final DiagnosticPosition pos, ModuleSymbol msym) { if (msym.kind != MDL) { deferredLintHandler.report(_ -> - lint.logIfEnabled(log, pos, LintWarnings.ModuleNotFound(msym))); + lint.logIfEnabled(pos, LintWarnings.ModuleNotFound(msym))); } } @@ -4678,7 +4678,7 @@ public class Check { if (packge.members().isEmpty() && ((packge.flags() & Flags.HAS_RESOURCE) == 0)) { deferredLintHandler.report(_ -> - lint.logIfEnabled(log, pos, LintWarnings.PackageEmptyOrNotFound(packge))); + lint.logIfEnabled(pos, LintWarnings.PackageEmptyOrNotFound(packge))); } } @@ -4688,7 +4688,7 @@ public class Check { if (rd.isTransitive() && lint.isEnabled(LintCategory.REQUIRES_TRANSITIVE_AUTOMATIC)) { log.warning(pos, LintWarnings.RequiresTransitiveAutomatic); } else { - lint.logIfEnabled(log, pos, LintWarnings.RequiresAutomatic); + lint.logIfEnabled(pos, LintWarnings.RequiresAutomatic); } }); } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java index b0b79104def..6e16700b49c 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Flow.java @@ -724,7 +724,7 @@ public class Flow { // Warn about fall-through if lint switch fallthrough enabled. if (alive == Liveness.ALIVE && c.stats.nonEmpty() && l.tail.nonEmpty()) - lint.logIfEnabled(log, l.tail.head.pos(), + lint.logIfEnabled(l.tail.head.pos(), LintWarnings.PossibleFallThroughIntoCase); } tree.isExhaustive = tree.hasUnconditionalPattern || @@ -1232,7 +1232,7 @@ public class Flow { scanStat(tree.finalizer); tree.finallyCanCompleteNormally = alive != Liveness.DEAD; if (alive == Liveness.DEAD) { - lint.logIfEnabled(log, TreeInfo.diagEndPos(tree.finalizer), + lint.logIfEnabled(TreeInfo.diagEndPos(tree.finalizer), LintWarnings.FinallyCannotComplete); } else { while (exits.nonEmpty()) { diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java index ce2ab68c652..5ff55d4be3a 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/file/Locations.java @@ -225,7 +225,7 @@ public class Locations { try { entries.add(getPath(s)); } catch (IllegalArgumentException e) { - lint.logIfEnabled(log, LintWarnings.InvalidPath(s)); + lint.logIfEnabled(LintWarnings.InvalidPath(s)); } } } @@ -319,7 +319,7 @@ public class Locations { private void addDirectory(Path dir, boolean warn) { if (!Files.isDirectory(dir)) { if (warn) { - lint.logIfEnabled(log, LintWarnings.DirPathElementNotFound(dir)); + lint.logIfEnabled(LintWarnings.DirPathElementNotFound(dir)); } return; } @@ -364,7 +364,7 @@ public class Locations { if (!fsInfo.exists(file)) { /* No such file or directory exists */ if (warn) { - lint.logIfEnabled(log, LintWarnings.PathElementNotFound(file)); + lint.logIfEnabled(LintWarnings.PathElementNotFound(file)); } super.add(file); return; @@ -386,12 +386,12 @@ public class Locations { try { FileSystems.newFileSystem(file, (ClassLoader)null).close(); if (warn) { - lint.logIfEnabled(log, LintWarnings.UnexpectedArchiveFile(file)); + lint.logIfEnabled(LintWarnings.UnexpectedArchiveFile(file)); } } catch (IOException | ProviderNotFoundException e) { // FIXME: include e.getLocalizedMessage in warning if (warn) { - lint.logIfEnabled(log, LintWarnings.InvalidArchiveFile(file)); + lint.logIfEnabled(LintWarnings.InvalidArchiveFile(file)); } return; } @@ -1654,7 +1654,7 @@ public class Locations { void add(Map> map, Path prefix, Path suffix) { if (!Files.isDirectory(prefix)) { - lint.logIfEnabled(log, Files.exists(prefix) ? + lint.logIfEnabled(Files.exists(prefix) ? LintWarnings.DirPathElementNotDirectory(prefix) : LintWarnings.DirPathElementNotFound(prefix)); return; diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java index cb444c98e5d..6f55903f489 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java @@ -854,7 +854,7 @@ public class ClassReader { if (!warnedAttrs.contains(name)) { JavaFileObject prev = log.useSource(currentClassFile); try { - lint.logIfEnabled(log, + lint.logIfEnabled( LintWarnings.FutureAttr(name, version.major, version.minor, majorVersion, minorVersion)); } finally { log.useSource(prev); @@ -1608,7 +1608,7 @@ public class ClassReader { } else if (parameterAnnotations.length != numParameters) { //the RuntimeVisibleParameterAnnotations and RuntimeInvisibleParameterAnnotations //provide annotations for a different number of parameters, ignore: - lint.logIfEnabled(log, LintWarnings.RuntimeVisibleInvisibleParamAnnotationsMismatch(currentClassFile)); + lint.logIfEnabled(LintWarnings.RuntimeVisibleInvisibleParamAnnotationsMismatch(currentClassFile)); for (int pnum = 0; pnum < numParameters; pnum++) { readAnnotations(); } @@ -2074,9 +2074,9 @@ public class ClassReader { JavaFileObject prevSource = log.useSource(requestingOwner.classfile); try { if (failure == null) { - lint.logIfEnabled(log, LintWarnings.AnnotationMethodNotFound(container, name)); + lint.logIfEnabled(LintWarnings.AnnotationMethodNotFound(container, name)); } else { - lint.logIfEnabled(log, LintWarnings.AnnotationMethodNotFoundReason(container, + lint.logIfEnabled(LintWarnings.AnnotationMethodNotFoundReason(container, name, failure.getDetailValue()));//diagnostic, if present } @@ -2954,7 +2954,7 @@ public class ClassReader { private void dropParameterAnnotations() { parameterAnnotations = null; - lint.logIfEnabled(log, LintWarnings.RuntimeInvisibleParameterAnnotations(currentClassFile)); + lint.logIfEnabled(LintWarnings.RuntimeInvisibleParameterAnnotations(currentClassFile)); } /** * Creates the parameter at the position {@code mpIndex} in the parameter list of the owning method. diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java index 8e1c2fe7c5d..012ac628ecd 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacFiler.java @@ -707,7 +707,7 @@ public class JavacFiler implements Filer, Closeable { private void checkName(String name, boolean allowUnnamedPackageInfo) throws FilerException { if (!SourceVersion.isName(name) && !isPackageInfo(name, allowUnnamedPackageInfo)) { - lint.logIfEnabled(log, LintWarnings.ProcIllegalFileName(name)); + lint.logIfEnabled(LintWarnings.ProcIllegalFileName(name)); throw new FilerException("Illegal name " + name); } } @@ -735,11 +735,11 @@ public class JavacFiler implements Filer, Closeable { initialClassNames.contains(typename) || containedInInitialInputs(typename); if (alreadySeen) { - lint.logIfEnabled(log, LintWarnings.ProcTypeRecreate(typename)); + lint.logIfEnabled(LintWarnings.ProcTypeRecreate(typename)); throw new FilerException("Attempt to recreate a file for type " + typename); } if (existing != null) { - lint.logIfEnabled(log, LintWarnings.ProcTypeAlreadyExists(typename)); + lint.logIfEnabled(LintWarnings.ProcTypeAlreadyExists(typename)); } if (!mod.isUnnamed() && !typename.contains(".")) { throw new FilerException("Attempt to create a type in unnamed package of a named module: " + typename); @@ -768,7 +768,7 @@ public class JavacFiler implements Filer, Closeable { */ private void checkFileReopening(FileObject fileObject, boolean forWriting) throws FilerException { if (isInFileObjectHistory(fileObject, forWriting)) { - lint.logIfEnabled(log, LintWarnings.ProcFileReopening(fileObject.getName())); + lint.logIfEnabled(LintWarnings.ProcFileReopening(fileObject.getName())); throw new FilerException("Attempt to reopen a file for path " + fileObject.getName()); } if (forWriting) diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java index be1f394f5aa..8147ac27528 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java @@ -649,7 +649,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea add(importStringToPattern(allowModules, annotationPattern, processor, log, lint)); if (!patternAdded) { - lint.logIfEnabled(log, LintWarnings.ProcDuplicateSupportedAnnotation(annotationPattern, + lint.logIfEnabled(LintWarnings.ProcDuplicateSupportedAnnotation(annotationPattern, p.getClass().getName())); } } @@ -662,7 +662,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea // and "foo.bar.*". if (supportedAnnotationPatterns.contains(MatchingUtils.validImportStringToPattern("*")) && supportedAnnotationPatterns.size() > 1) { - lint.logIfEnabled(log, LintWarnings.ProcRedundantTypesWithWildcard(p.getClass().getName())); + lint.logIfEnabled(LintWarnings.ProcRedundantTypesWithWildcard(p.getClass().getName())); } supportedOptionNames = new LinkedHashSet<>(); @@ -670,7 +670,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea if (checkOptionName(optionName, log)) { boolean optionAdded = supportedOptionNames.add(optionName); if (!optionAdded) { - lint.logIfEnabled(log, LintWarnings.ProcDuplicateOptionName(optionName, + lint.logIfEnabled(LintWarnings.ProcDuplicateOptionName(optionName, p.getClass().getName())); } } @@ -1687,7 +1687,7 @@ public class JavacProcessingEnvironment implements ProcessingEnvironment, Closea } private static Pattern warnAndNoMatches(String s, Processor p, Log log, Lint lint) { - lint.logIfEnabled(log, LintWarnings.ProcMalformedSupportedString(s, p.getClass().getName())); + lint.logIfEnabled(LintWarnings.ProcMalformedSupportedString(s, p.getClass().getName())); return noMatches; // won't match any valid identifier }