[java] Cyclomatic complexity is misreported (lack of clearing metrics cache)

Fixes #1984
This commit is contained in:
Andreas Dangel
2020-01-17 11:35:32 +01:00
parent 0d19482bb8
commit b71575fa36
7 changed files with 41 additions and 4 deletions

View File

@ -23,6 +23,7 @@ import net.sourceforge.pmd.lang.java.ast.JavaNode;
import net.sourceforge.pmd.lang.java.ast.MethodLikeNode;
import net.sourceforge.pmd.lang.java.dfa.DataFlowFacade;
import net.sourceforge.pmd.lang.java.dfa.JavaDFAGraphRule;
import net.sourceforge.pmd.lang.java.metrics.JavaMetrics;
import net.sourceforge.pmd.lang.java.metrics.JavaMetricsComputer;
import net.sourceforge.pmd.lang.java.metrics.api.JavaClassMetricKey;
import net.sourceforge.pmd.lang.java.metrics.api.JavaOperationMetricKey;
@ -178,6 +179,10 @@ public abstract class AbstractJavaHandler extends AbstractLanguageVersionHandler
super(ASTAnyTypeDeclaration.class, MethodLikeNode.class, JavaMetricsComputer.getInstance());
}
@Override
public void initialize() {
JavaMetrics.reset();
}
@Override
public List<? extends MetricKey<ASTAnyTypeDeclaration>> getAvailableTypeMetrics() {

View File

@ -38,8 +38,11 @@ public final class JavaMetrics {
}
/** Resets the entire data structure. Used for tests. */
static void reset() {
/**
* Resets the entire data structure.
* This needs to be done in case PMD is executed multiple times within one JVM run.
*/
public static void reset() {
FACADE.reset();
}