From e2d8076f9e692baf62ae3d710c195ee4710abbf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Fournier?= Date: Wed, 6 Sep 2017 23:33:24 +0200 Subject: [PATCH] =?UTF-8?q?Deleted=20the=20fa=C3=A7ade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pmd/lang/java/multifile/ClassMirror.java | 1 + .../pmd/lang/java/multifile/ClassStats.java | 1 + .../lang/java/multifile/MultifileFacade.java | 38 ------------------- .../java/multifile/MultifileFacadeBacker.java | 26 ------------- .../lang/java/multifile/MultifileVisitor.java | 3 ++ .../multifile/MultifileVisitorFacade.java | 3 +- .../pmd/lang/java/multifile/PackageStats.java | 3 ++ .../lang/java/multifile/ProjectMirror.java | 1 + .../lang/java/multifile/ClassStatsTest.java | 4 +- .../multifile/JavaMultifileVisitorTest.java | 8 ++-- 10 files changed, 17 insertions(+), 71 deletions(-) delete mode 100644 pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacade.java delete mode 100644 pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacadeBacker.java diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassMirror.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassMirror.java index 5ea9a705b9..77748ab949 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassMirror.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassMirror.java @@ -11,6 +11,7 @@ import net.sourceforge.pmd.lang.java.multifile.signature.JavaOperationSigMask; * Represents a class for signature matching. * * @author Clément Fournier + * @since 6.0.0 */ interface ClassMirror { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassStats.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassStats.java index 9ac6a33689..d4bedee8ca 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassStats.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ClassStats.java @@ -26,6 +26,7 @@ import net.sourceforge.pmd.lang.java.multifile.signature.JavaOperationSignature; * QualifiedNames anymore, only Strings. * * @author Clément Fournier + * @since 6.0.0 */ final class ClassStats implements ClassMirror { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacade.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacade.java deleted file mode 100644 index 6ab3fdde1c..0000000000 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacade.java +++ /dev/null @@ -1,38 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.multifile; - -/** - * Facade class for multi-file analysis. Stores an instance of a ProjectMirror. - * - * @author Clément Fournier - */ -final class MultifileFacade { - - private static final MultifileFacadeBacker FACADE = new MultifileFacadeBacker(); - - - private MultifileFacade() { - - } - - - /** Resets the entire data structure. Used for tests. */ - static void reset() { - FACADE.reset(); - } - - - /** - * Gets the PackageStats instance representing the currently analysed project. - * - * @return The project mirror - */ - static PackageStats getTopLevelPackageStats() { - return FACADE.getTopLevelPackageStats(); - } - - -} diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacadeBacker.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacadeBacker.java deleted file mode 100644 index f5355ff500..0000000000 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileFacadeBacker.java +++ /dev/null @@ -1,26 +0,0 @@ -/** - * BSD-style license; for more info see http://pmd.sourceforge.net/license.html - */ - -package net.sourceforge.pmd.lang.java.multifile; - -/** - * @author Clément Fournier - */ -final class MultifileFacadeBacker { - - - private final PackageStats topLevelPackageStats = new PackageStats(); - - - /** Resets the data structure. Used for tests. */ - void reset() { - topLevelPackageStats.reset(); - } - - - PackageStats getTopLevelPackageStats() { - return topLevelPackageStats; - } - -} diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitor.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitor.java index e90eb44f96..40f328f1b0 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitor.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitor.java @@ -12,7 +12,10 @@ import net.sourceforge.pmd.lang.java.ast.ASTMethodOrConstructorDeclaration; import net.sourceforge.pmd.lang.java.ast.JavaParserVisitorReducedAdapter; /** + * Fills the PackageStats. + * * @author Clément Fournier + * @since 6.0.0 */ public class MultifileVisitor extends JavaParserVisitorReducedAdapter { diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitorFacade.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitorFacade.java index d90aee34ac..2a27b38871 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitorFacade.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/MultifileVisitorFacade.java @@ -9,11 +9,12 @@ import net.sourceforge.pmd.lang.java.ast.JavaParserVisitorAdapter; /** * @author Clément Fournier + * @since 6.0.0 */ public final class MultifileVisitorFacade extends JavaParserVisitorAdapter { public void initializeWith(ASTCompilationUnit rootNode) { - PackageStats projectMirror = MultifileFacade.getTopLevelPackageStats(); + PackageStats projectMirror = PackageStats.INSTANCE; MultifileVisitor visitor = new MultifileVisitor(projectMirror); rootNode.jjtAccept(visitor, null); } diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/PackageStats.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/PackageStats.java index 1b0289875f..f236d3860f 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/PackageStats.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/PackageStats.java @@ -19,9 +19,12 @@ import net.sourceforge.pmd.lang.java.multifile.signature.JavaOperationSigMask; * * @author Clément Fournier * @see ClassStats + * @since 6.0.0 */ final class PackageStats implements ProjectMirror { + static final PackageStats INSTANCE = new PackageStats(); + private final Map subPackages = new HashMap<>(); private final Map classes = new HashMap<>(); diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ProjectMirror.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ProjectMirror.java index 77e945d259..12d0bfe557 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ProjectMirror.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/multifile/ProjectMirror.java @@ -12,6 +12,7 @@ import net.sourceforge.pmd.lang.java.multifile.signature.JavaOperationSigMask; * Represents the analysed project to provide all rules with info about other classes. * * @author Clément Fournier + * @since 6.0.0 */ interface ProjectMirror { diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/ClassStatsTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/ClassStatsTest.java index 9827e9cd04..d50a73e29d 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/ClassStatsTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/ClassStatsTest.java @@ -24,7 +24,7 @@ public class ClassStatsTest { @Before public void resetMultifile() { - MultifileFacade.reset(); + PackageStats.INSTANCE.reset(); } @@ -33,7 +33,7 @@ public class ClassStatsTest { JavaMultifileVisitorTest.parseAndVisitForClass(SignatureCountTestData.class); - final ProjectMirror toplevel = MultifileFacade.getTopLevelPackageStats(); + final ProjectMirror toplevel = PackageStats.INSTANCE; final ClassMirror classMirror = toplevel.getClassMirror(JavaQualifiedName.ofClass(SignatureCountTestData.class)); diff --git a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/JavaMultifileVisitorTest.java b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/JavaMultifileVisitorTest.java index c9c6e99441..94ab1740cd 100644 --- a/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/JavaMultifileVisitorTest.java +++ b/pmd-java/src/test/java/net/sourceforge/pmd/lang/java/multifile/JavaMultifileVisitorTest.java @@ -31,13 +31,13 @@ public class JavaMultifileVisitorTest { @Test public void testPackageStatsNotNull() { - assertNotNull(MultifileFacade.getTopLevelPackageStats()); + assertNotNull(PackageStats.INSTANCE); } @After public void resetMultifile() { - MultifileFacade.reset(); + PackageStats.INSTANCE.reset(); } @@ -45,7 +45,7 @@ public class JavaMultifileVisitorTest { public void testOperationsAreThere() { ASTCompilationUnit acu = parseAndVisitForClass(MultifileVisitorTestData.class); - final ProjectMirror toplevel = MultifileFacade.getTopLevelPackageStats(); + final ProjectMirror toplevel = PackageStats.INSTANCE; final JavaOperationSigMask opMask = new JavaOperationSigMask(); @@ -64,7 +64,7 @@ public class JavaMultifileVisitorTest { public void testFieldsAreThere() { parseAndVisitForClass(MultifileVisitorTestData.class); - final ProjectMirror toplevel = MultifileFacade.getTopLevelPackageStats(); + final ProjectMirror toplevel = PackageStats.INSTANCE; final JavaFieldSigMask fieldSigMask = new JavaFieldSigMask();