mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJ-CR-142710 [java-inspections] IDEA-357725 LoggerInitializedWithForeignClassInspection should skip when the logger is not the final field
- fix texts GitOrigin-RevId: 85d86f362ce860118d2a047321bf4916e01757da
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0419956bda
commit
dd822c1bc7
@@ -1642,7 +1642,7 @@ logger.factory.method.name=Logger Factory Method Name
|
||||
logger.factory.class.name=Logger Factory Class Name
|
||||
logger.initialized.with.foreign.class.ignore.super.class.option=Ignore loggers initialized with a superclass
|
||||
logger.initialized.with.foreign.class.ignore.non.public.classes.option=Ignore loggers in non-public classes
|
||||
logger.initialized.with.foreign.class.warn.only.final.field.assignment.option=Warn only about final field declarations
|
||||
logger.initialized.with.foreign.class.ignore.not.final.field=Ignore loggers not initialized in a final field
|
||||
make.static.final.quickfix=Make ''{0}'' static final
|
||||
log.statement.guarded.by.log.condition.display.name=Logging call not guarded by log condition
|
||||
log.statement.guarded.by.log.condition.problem.descriptor=<code>#ref()</code> logging calls not guarded by log condition #loc
|
||||
|
||||
+5
-5
@@ -70,7 +70,7 @@ public final class LoggerInitializedWithForeignClassInspection extends BaseInspe
|
||||
|
||||
public boolean ignoreSuperClass = false;
|
||||
public boolean ignoreNonPublicClasses = false;
|
||||
public boolean warnOnlyFinalFieldAssignment = true;
|
||||
public boolean ignoreNotFinalField = true;
|
||||
{
|
||||
parseString(loggerClassName, loggerFactoryClassNames);
|
||||
parseString(loggerFactoryMethodName, loggerFactoryMethodNames);
|
||||
@@ -87,8 +87,8 @@ public final class LoggerInitializedWithForeignClassInspection extends BaseInspe
|
||||
checkbox("ignoreSuperClass", InspectionGadgetsBundle.message("logger.initialized.with.foreign.class.ignore.super.class.option")),
|
||||
checkbox("ignoreNonPublicClasses",
|
||||
InspectionGadgetsBundle.message("logger.initialized.with.foreign.class.ignore.non.public.classes.option")),
|
||||
checkbox("warnOnlyFinalFieldAssignment",
|
||||
InspectionGadgetsBundle.message("logger.initialized.with.foreign.class.warn.only.final.field.assignment.option"))
|
||||
checkbox("ignoreNotFinalField",
|
||||
InspectionGadgetsBundle.message("logger.initialized.with.foreign.class.ignore.not.final.field"))
|
||||
);
|
||||
}
|
||||
|
||||
@@ -138,7 +138,7 @@ public final class LoggerInitializedWithForeignClassInspection extends BaseInspe
|
||||
if ("loggerFactoryMethodNames".equals(factoryName) && DEFAULT_FACTORY_METHOD_NAMES.equals(beanValue)) return false;
|
||||
if ("ignoreSuperClass".equals(factoryName) && !ignoreSuperClass) return false;
|
||||
if ("ignoreNonPublicClasses".equals(factoryName) && !ignoreNonPublicClasses) return false;
|
||||
if ("warnOnlyFinalFieldAssignment".equals(factoryName) && warnOnlyFinalFieldAssignment) return false;
|
||||
if ("ignoreNotFinalField".equals(factoryName) && ignoreNotFinalField) return false;
|
||||
return true;
|
||||
}
|
||||
});
|
||||
@@ -247,7 +247,7 @@ public final class LoggerInitializedWithForeignClassInspection extends BaseInspe
|
||||
return;
|
||||
}
|
||||
|
||||
if (warnOnlyFinalFieldAssignment) {
|
||||
if (ignoreNotFinalField) {
|
||||
PsiField field = PsiTreeUtil.getParentOfType(methodCallExpression, PsiField.class);
|
||||
if (field == null) return;
|
||||
if (!field.hasModifierProperty(PsiModifier.FINAL)) return;
|
||||
|
||||
@@ -29,7 +29,7 @@ may result in logging events under an unexpected category and cause filters to b
|
||||
<li>Use the <b>Ignore loggers initialized with a superclass</b> option to ignore loggers that are initialized with a superclass of
|
||||
the class containing the logger.</li>
|
||||
<li>Use the <b>Ignore loggers in non-public classes</b> to only warn on loggers in <code>public</code> classes.</li>
|
||||
<li>Use the <b>Warn only about final field declarations</b> to only warn about final field declarations, other cases will be ignored</li>
|
||||
<li>Use the <b>Ignore loggers not initialized in a final field</b> to only report loggers initialized in a final field, other cases will be ignored.</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
+3
-8
@@ -40,13 +40,13 @@ public class LoggerInitializedWithForeignClassInspectionTest extends LightJavaIn
|
||||
public void testIgnoreNonPublicClasses() {
|
||||
final LoggerInitializedWithForeignClassInspection inspection = new LoggerInitializedWithForeignClassInspection();
|
||||
inspection.ignoreNonPublicClasses = true;
|
||||
inspection.warnOnlyFinalFieldAssignment = false;
|
||||
inspection.ignoreNotFinalField = false;
|
||||
myFixture.enableInspections(inspection);
|
||||
changeToWarning();
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testWarnOnlyFinalFieldAssignment() {
|
||||
public void testIgnoreNotFinalField() {
|
||||
changeToWarning();
|
||||
doTest();
|
||||
}
|
||||
@@ -57,12 +57,7 @@ public class LoggerInitializedWithForeignClassInspectionTest extends LightJavaIn
|
||||
final LoggerInitializedWithForeignClassInspection inspection = new LoggerInitializedWithForeignClassInspection();
|
||||
inspection.ignoreSuperClass = true;
|
||||
String name = getTestName(false);
|
||||
if (name.endsWith("WarnOnlyFinalFieldAssignment")) {
|
||||
inspection.warnOnlyFinalFieldAssignment = true;
|
||||
}
|
||||
else {
|
||||
inspection.warnOnlyFinalFieldAssignment = false;
|
||||
}
|
||||
inspection.ignoreNotFinalField = name.endsWith("IgnoreNotFinalField");
|
||||
return inspection;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user