Merge branch 'issue-1984'
This commit is contained in:
@ -5,8 +5,6 @@
|
||||
package net.sourceforge.pmd.lang.java;
|
||||
|
||||
import java.io.Writer;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.pmd.lang.AbstractLanguageVersionHandler;
|
||||
import net.sourceforge.pmd.lang.DataFlowHandler;
|
||||
@ -23,9 +21,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.JavaMetricsComputer;
|
||||
import net.sourceforge.pmd.lang.java.metrics.api.JavaClassMetricKey;
|
||||
import net.sourceforge.pmd.lang.java.metrics.api.JavaOperationMetricKey;
|
||||
import net.sourceforge.pmd.lang.java.metrics.JavaMetricsProvider;
|
||||
import net.sourceforge.pmd.lang.java.multifile.MultifileVisitorFacade;
|
||||
import net.sourceforge.pmd.lang.java.qname.QualifiedNameResolver;
|
||||
import net.sourceforge.pmd.lang.java.rule.JavaRuleViolationFactory;
|
||||
@ -38,8 +34,6 @@ import net.sourceforge.pmd.lang.java.xpath.TypeIsExactlyFunction;
|
||||
import net.sourceforge.pmd.lang.java.xpath.TypeIsFunction;
|
||||
import net.sourceforge.pmd.lang.java.xpath.TypeOfFunction;
|
||||
import net.sourceforge.pmd.lang.metrics.LanguageMetricsProvider;
|
||||
import net.sourceforge.pmd.lang.metrics.MetricKey;
|
||||
import net.sourceforge.pmd.lang.metrics.internal.AbstractLanguageMetricsProvider;
|
||||
import net.sourceforge.pmd.lang.rule.RuleViolationFactory;
|
||||
|
||||
import net.sf.saxon.sxpath.IndependentContext;
|
||||
@ -169,25 +163,4 @@ public abstract class AbstractJavaHandler extends AbstractLanguageVersionHandler
|
||||
public LanguageMetricsProvider<ASTAnyTypeDeclaration, MethodLikeNode> getLanguageMetricsProvider() {
|
||||
return myMetricsProvider;
|
||||
}
|
||||
|
||||
|
||||
private static class JavaMetricsProvider extends AbstractLanguageMetricsProvider<ASTAnyTypeDeclaration, MethodLikeNode> {
|
||||
|
||||
|
||||
JavaMetricsProvider() {
|
||||
super(ASTAnyTypeDeclaration.class, MethodLikeNode.class, JavaMetricsComputer.getInstance());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<? extends MetricKey<ASTAnyTypeDeclaration>> getAvailableTypeMetrics() {
|
||||
return Arrays.asList(JavaClassMetricKey.values());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<? extends MetricKey<MethodLikeNode>> getAvailableOperationMetrics() {
|
||||
return Arrays.asList(JavaOperationMetricKey.values());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,10 @@ public final class JavaMetrics {
|
||||
}
|
||||
|
||||
|
||||
/** Resets the entire data structure. Used for tests. */
|
||||
/**
|
||||
* Resets the entire data structure.
|
||||
* This needs to be done in case PMD is executed multiple times within one JVM run.
|
||||
*/
|
||||
static void reset() {
|
||||
FACADE.reset();
|
||||
}
|
||||
|
@ -0,0 +1,38 @@
|
||||
/*
|
||||
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
|
||||
*/
|
||||
|
||||
package net.sourceforge.pmd.lang.java.metrics;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.pmd.lang.java.ast.ASTAnyTypeDeclaration;
|
||||
import net.sourceforge.pmd.lang.java.ast.MethodLikeNode;
|
||||
import net.sourceforge.pmd.lang.java.metrics.api.JavaClassMetricKey;
|
||||
import net.sourceforge.pmd.lang.java.metrics.api.JavaOperationMetricKey;
|
||||
import net.sourceforge.pmd.lang.metrics.MetricKey;
|
||||
import net.sourceforge.pmd.lang.metrics.internal.AbstractLanguageMetricsProvider;
|
||||
|
||||
public class JavaMetricsProvider extends AbstractLanguageMetricsProvider<ASTAnyTypeDeclaration, MethodLikeNode> {
|
||||
|
||||
public JavaMetricsProvider() {
|
||||
super(ASTAnyTypeDeclaration.class, MethodLikeNode.class, JavaMetricsComputer.getInstance());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initialize() {
|
||||
JavaMetrics.reset();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends MetricKey<ASTAnyTypeDeclaration>> getAvailableTypeMetrics() {
|
||||
return Arrays.asList(JavaClassMetricKey.values());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<? extends MetricKey<MethodLikeNode>> getAvailableOperationMetrics() {
|
||||
return Arrays.asList(JavaOperationMetricKey.values());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user