## Uses of Interface
net.sourceforge.pmd.lang.java.ast.JavaParserVisitor

Packages that use JavaParserVisitor
Package | Description
--- | ---
net.sourceforge.pmd.lang.java.ast |
net.sourceforge.pmd.lang.java.dfa |
net.sourceforge.pmd.lang.java.rule |
net.sourceforge.pmd.lang.java.rule.basic |
net.sourceforge.pmd.lang.java.rule.codesize |
net.sourceforge.pmd.lang.java.rule.comments |
net.sourceforge.pmd.lang.java.rule.controversial |
net.sourceforge.pmd.lang.java.rule.coupling |
net.sourceforge.pmd.lang.java.rule.design |
net.sourceforge.pmd.lang.java.rule.finalizers |
net.sourceforge.pmd.lang.java.rule.imports |
net.sourceforge.pmd.lang.java.rule.javabeans |
net.sourceforge.pmd.lang.java.rule.junit |
net.sourceforge.pmd.lang.java.rule.logging |
net.sourceforge.pmd.lang.java.rule.migrating |
net.sourceforge.pmd.lang.java.rule.naming |
net.sourceforge.pmd.lang.java.rule.optimizations |
net.sourceforge.pmd.lang.java.rule.strictexception |
net.sourceforge.pmd.lang.java.rule.strings |
net.sourceforge.pmd.lang.java.rule.sunsecure |
net.sourceforge.pmd.lang.java.rule.unnecessary |
net.sourceforge.pmd.lang.java.rule.unusedcode |
net.sourceforge.pmd.lang.java.symboltable |
net.sourceforge.pmd.lang.java.typeresolution |
net.sourceforge.pmd.lang.java.typeresolution.rules |
net.sourceforge.pmd.lang.java.typeresolution.rules.imports |
net.sourceforge.pmd.util |
net.sourceforge.pmd.util.designer |

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.ast

Classes in net.sourceforge.pmd.lang.java.ast that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `DumpFacade`
`class` | `JavaParserVisitorAdapter`

Methods in net.sourceforge.pmd.lang.java.ast with parameters of type JavaParserVisitor
Modifier and Type | Method and Description
--- | ---
`Object` | JavaNode.`childrenAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | AbstractJavaNode.`childrenAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTResultType.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTEqualityExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTConditionalOrExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTCompilationUnit.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTUnaryExpressionNotPlusMinus.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTThrowStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTRUNSIGNEDSHIFT.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMethodDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTEmptyStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTInstanceOfExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTForUpdate.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTTypeDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTSwitchLabel.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAllocationExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTContinueStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTNormalAnnotation.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTCastExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTResourceSpecification.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor.
`Object` | ASTStatementExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTImportDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTSynchronizedStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAnnotationTypeBody.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTNullLiteral.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTNameList.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTForStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTDoStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPackageDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTSingleMemberAnnotation.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMarkerAnnotation.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTClassOrInterfaceType.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTWhileStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAnnotationMethodDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor.
`Object` | ASTIfStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTLocalVariableDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | JavaNode.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTExclusiveOrExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMemberSelector.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTLiteral.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAdditiveExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTClassOrInterfaceDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTVariableDeclaratorId.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMemberValueArrayInitializer.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTName.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTExtendsList.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTSwitchStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPrimaryPrefix.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPostfixExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | AbstractJavaNode.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAnnotation.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor.
`Object` | ASTReturnStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPreIncrementExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTWildcardBounds.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTTryStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTRelationalExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTBooleanLiteral.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTBreakStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMemberValuePair.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTShiftExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTInitializer.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTCatchStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPreDecrementExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPrimarySuffix.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTType.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMemberValuePairs.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPrimaryExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTTypeParameters.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTPrimitiveType.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTImplementsList.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTResources.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor.
`Object` | ASTClassOrInterfaceBody.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTExplicitConstructorInvocation.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTInclusiveOrExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTArrayInitializer.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAssignmentOperator.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTLabeledStatement.`jjtAccept(JavaParserVisitor visitor, Object data)`
`Object` | ASTResource.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor.
`Object` | ASTAndExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTEnumConstant.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTEnumDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)`
`Object` | ASTEnumBody.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTVariableDeclarator.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTFieldDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTVariableInitializer.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTStatementExpressionList.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTClassOrInterfaceBodyDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAssertStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTTypeArguments.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTConditionalAndExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTDefaultValue.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAnnotationTypeDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTUnaryExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTArguments.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTFinallyStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTTypeParameter.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTFormalParameter.`jjtAccept(JavaParserVisitor visitor, Object data)`
`Object` | ASTTypeArgument.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTArrayDimsAndInits.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTRSIGNEDSHIFT.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTConditionalExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMemberValue.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTTypeBound.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMultiplicativeExpression.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTBlock.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTFormalParameters.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTMethodDeclarator.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTConstructorDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTAnnotationTypeMemberDeclaration.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTArgumentList.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTReferenceType.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTForInit.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor
`Object` | ASTBlockStatement.`jjtAccept(JavaParserVisitor visitor, Object data)` Accept the visitor

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.dfa

Classes in net.sourceforge.pmd.lang.java.dfa that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `DataFlowFacade`
`class` | `StatementAndBraceFinder`
`class` | `VariableAccessVisitor`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule

Classes in net.sourceforge.pmd.lang.java.rule that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AbstractInefficientZeroCheck` This is an abstract rule for patterns which compare a method invocation to 0.
`class` | `AbstractJavaRule`
`class` | `AbstractPoorMethodCall` Detects and flags the occurrences of specific method calls against an instance of a designated class.
`class` | `AbstractStatisticalJavaRule`
`class` | `GenericLiteralCheckerRule` This class allow to match a Literal (most likely a String) with a regex pattern.
`class` | `StringConcatenationRule`
`class` | `SymbolTableTestRule`
`class` | `UselessAssignment`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.basic

Classes in net.sourceforge.pmd.lang.java.rule.basic that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AvoidBranchingStatementAsLastInLoopRule`
`class` | `AvoidMultipleUnaryOperatorsRule`
`class` | `AvoidUsingHardCodedIPRule`
`class` | `AvoidUsingOctalValuesRule`
`class` | `BigIntegerInstantiationRule`
`class` | `BooleanInstantiationRule` Avoid instantiating Boolean objects; you can reference Boolean.TRUE, Boolean.FALSE, or call Boolean.valueOf() instead.
`class` | `BrokenNullCheckRule`
`class` | `CheckResultSetRule` Rule that verifies, that the return values of next(), first(), last(), etc.
`class` | `CheckSkipResultRule`
`class` | `DoubleCheckedLockingRule` void method() { if(x == null) { synchronized(this){ if(x == null) { x = new | method(); } } } 1.
`class` | `OverrideBothEqualsAndHashcodeRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.codesize

Classes in net.sourceforge.pmd.lang.java.rule.codesize that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AbstractNcssCountRule` Abstract superclass for NCSS counting methods.
`class` | `CyclomaticComplexityRule`
`class` | `ExcessiveClassLengthRule` This rule detects when a class exceeds a certain threshold.
`class` | `ExcessiveMethodLengthRule` This rule detects when a method exceeds a certain threshold.
`class` | `ExcessiveParameterListRule` This rule detects an abnormally long parameter list.
`class` | `ExcessivePublicCountRule`
`class` | `NcssConstructorCountRule` Non-commented source statement counter for constructors.
`class` | `NcssMethodCountRule` Non-commented source statement counter for methods.
`class` | `NcssTypeCountRule` Non-commented source statement counter for type declarations.
`class` | `NPathComplexityRule` NPath complexity is a measurement of the acyclic execution paths through a function.
`class` | `TooManyFieldsRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.comments

Classes in net.sourceforge.pmd.lang.java.rule.comments that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AbstractCommentRule`
`class` | `CodeInCommentsRule`
`class` | `CommentContentRule` A rule that checks for illegal words in the comment text.
`class` | `CommentRequiredRule`
`class` | `CommentSizeRule` A rule to manage those who just can't shut up...
`class` | `HeaderCommentsRule` Restrictions regarding the legal placement and content of the file header.
`class` | `JavadocRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.controversial

Classes in net.sourceforge.pmd.lang.java.rule.controversial that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AssignmentInOperandRule`
`class` | `DataflowAnomalyAnalysisRule` Starts path search for each method and runs code if found.
`class` | `DontImportSunRule`
`class` | `NullAssignmentRule`
`class` | `OnlyOneReturnRule`
`class` | `SuspiciousOctalEscapeRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.coupling

Classes in net.sourceforge.pmd.lang.java.rule.coupling that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `CouplingBetweenObjectsRule` CouplingBetweenObjects attempts to capture all unique Class attributes, local variables, and return types to determine how many objects a class is coupled to.
`class` | `ExcessiveImportsRule` ExcessiveImports attempts to count all unique imports a class contains.
`class` | `LawOfDemeterRule` This rule can detect possible violations of the Law of Demeter.
`class` | `LooseCouplingRule`
`class` | `LoosePackageCouplingRule` The loose package coupling Rule can be used to ensure coupling outside of a package hierarchy is minimized to all but an allowed set of classes from within the package hierarchy.

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.design

Classes in net.sourceforge.pmd.lang.java.rule.design that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AccessorClassGenerationRule` 1.
`class` | `AssignmentToNonFinalStaticRule`
`class` | `AvoidDeeplyNestedIfStmtsRule`
`class` | `AvoidReassigningParametersRule`
`class` | `CloseResourceRule` Makes sure you close your database connections.
`class` | `CompareObjectsWithEqualsRule`
`class` | `ConfusingTernaryRule` if (x !
`class` | `ConstructorCallsOverridableMethodRule` Searches through all methods and constructors called from constructors.
`class` | `ExcessiveLengthRule` This is a common super class for things which have excessive length.
`class` | `ExcessiveNodeCountRule` This is a common super class for things which shouldn't have excessive nodes underneath.
`class` | `GenericClassCounterRule` A generic rule that can be configured to "count" classes of certain type based on either their name (full name, prefix, suffixes anything can be matched with a regex), and/or their type.
`class` | `GodClassRule` The God Class Rule detects a the God Class design flaw using metrics.
`class` | `IdempotentOperationsRule`
`class` | `ImmutableFieldRule`
`class` | `NonThreadSafeSingletonRule`
`class` | `PositionalIteratorRule`
`class` | `PreserveStackTraceRule`
`class` | `SimplifyBooleanReturnsRule`
`class` | `SingularFieldRule`
`class` | `SwitchDensityRule`
`class` | `UnnecessaryLocalBeforeReturnRule`
`class` | `UnsynchronizedStaticDateFormatterRule` Using a DateFormatter (SimpleDateFormatter) which is static can cause unexpected results when used in a multi-threaded environment.
`class` | `UseCollectionIsEmptyRule` Detect structures like "foo.size() == 0" and suggest replacing them with foo.isEmpty().
`class` | `UseSingletonRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.finalizers

Classes in net.sourceforge.pmd.lang.java.rule.finalizers that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AvoidCallingFinalizeRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.imports

Classes in net.sourceforge.pmd.lang.java.rule.imports that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `DontImportJavaLangRule`
`class` | `DuplicateImportsRule`
`class` | `ImportFromSamePackageRule`
`class` | `UnnecessaryFullyQualifiedNameRule`
`class` | `UnusedImportsRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.javabeans

Classes in net.sourceforge.pmd.lang.java.rule.javabeans that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `BeanMembersShouldSerializeRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.junit

Classes in net.sourceforge.pmd.lang.java.rule.junit that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AbstractJUnitRule`
`class` | `JUnitAssertionsShouldIncludeMessageRule`
`class` | `JUnitTestsShouldIncludeAssertRule`
`class` | `TestClassWithoutTestCasesRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.logging

Classes in net.sourceforge.pmd.lang.java.rule.logging that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `MoreThanOneLoggerRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.migrating

Classes in net.sourceforge.pmd.lang.java.rule.migrating that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `JUnitUseExpectedRule` This rule finds code like this: public void testFoo() { try { doSomething(); fail("should have thrown an exception"); } catch (Exception e) { } } In JUnit 4, use @Test(expected = Exception.class)
`class` | `UnnecessaryCastRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.naming

Classes in net.sourceforge.pmd.lang.java.rule.naming that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AvoidDollarSignsRule`
`class` | `AvoidFieldNameMatchingMethodNameRule`
`class` | `AvoidFieldNameMatchingTypeNameRule`
`class` | `ClassNamingConventionsRule`
`class` | `MethodNamingConventionsRule`
`class` | `MethodWithSameNameAsEnclosingClassRule`
`class` | `SuspiciousHashcodeMethodNameRule`
`class` | `VariableNamingConventionsRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.optimizations

Classes in net.sourceforge.pmd.lang.java.rule.optimizations that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AbstractOptimizationRule` Base class with utility methods for optimization rules
`class` | `AvoidInstantiatingObjectsInLoopsRule`
`class` | `LocalVariableCouldBeFinalRule`
`class` | `MethodArgumentCouldBeFinalRule`
`class` | `PrematureDeclarationRule` Checks for variables in methods that are defined before they are really needed.
`class` | `RedundantFieldInitializerRule` Detects redundant field initializers, i.e. the field initializer expressions the JVM would assign by default.
`class` | `UnnecessaryWrapperObjectCreationRule`
`class` | `UseStringBufferForStringAppendsRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.strictexception

Classes in net.sourceforge.pmd.lang.java.rule.strictexception that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AvoidCatchingThrowableRule` Finds `catch` statements containing `throwable` as the type definition.
`class` | `ExceptionAsFlowControlRule` Catches the use of exception statements as a flow control device.
`class` | `SignatureDeclareThrowsExceptionRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.strings

Classes in net.sourceforge.pmd.lang.java.rule.strings that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AppendCharacterWithCharRule` This rule finds the following: StringBuffer.append("c"); // appends a single character It is preferable to use StringBuffer.append('c'); // appends a single character Implementation of PMD RFE 1373863
`class` | `AvoidDuplicateLiteralsRule`

`class`

`ConsecutiveLiteralAppendsRule`
This rule finds concurrent calls to StringBuffer/Builder.append where String literals are used It would be much better to make these calls using one call to .append

example:

StringBuilder buf = new StringBuilder(); buf.append("Hello"); buf.append(" ").append("World");

This would be more eloquently put as:

StringBuilder buf = new StringBuilder(); buf.append("Hello World");

The rule takes one parameter, threshold, which defines the lower limit of consecutive appends before a violation is created.

`class` | `InefficientEmptyStringCheckRule` This rule finds code which inefficiently determines empty strings.
`class` | `InefficientStringBufferingRule` How this rule works: find additive expressions: + check that the addition is between anything other than two literals if true and also the parent is StringBuffer constructor or append, report a violation.
`class` | `InsufficientStringBufferDeclarationRule` This rule finds StringBuffers which may have been pre-sized incorrectly See http://sourceforge.net/forum/forum.php?
`class` | `StringInstantiationRule`
`class` | `StringToStringRule`
`class` | `UnnecessaryCaseChangeRule`
`class` | `UseIndexOfCharRule`
`class` | `UselessStringValueOfRule`
`class` | `UseStringBufferLengthRule` This rule finds places where StringBuffer.toString() is called just to see if the string is 0 length by either using .equals("") or toString().length() StringBuffer sb = new StringBuffer("some string"); if (sb.toString().equals("")) { // this is wrong } if (sb.length() == 0) { // this is right }

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.sunsecure

Classes in net.sourceforge.pmd.lang.java.rule.sunsecure that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `AbstractSunSecureRule` Utility methods for the package
`class` | `ArrayIsStoredDirectlyRule`
`class` | `MethodReturnsInternalArrayRule` Implementation note: this rule currently ignores return types of y.x.z, currently it handles only local type fields.

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.unnecessary

Classes in net.sourceforge.pmd.lang.java.rule.unnecessary that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `UnnecessaryConversionTemporaryRule`
`class` | `UnnecessaryReturnRule`
`class` | `UselessOperationOnImmutableRule` An operation on an Immutable object (String, BigDecimal or BigInteger) won't change the object itself.
`class` | `UselessOverridingMethodRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.rule.unusedcode

Classes in net.sourceforge.pmd.lang.java.rule.unusedcode that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `UnusedFormalParameterRule`
`class` | `UnusedLocalVariableRule`
`class` | `UnusedModifierRule`
`class` | `UnusedPrivateFieldRule`
`class` | `UnusedPrivateMethodRule`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.symboltable

Classes in net.sourceforge.pmd.lang.java.symboltable that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `OccurrenceFinder`
`class` | `ScopeAndDeclarationFinder` Visitor for scope creation.

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.typeresolution

Classes in net.sourceforge.pmd.lang.java.typeresolution that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `ClassTypeResolver`
`class` | `TypeResolutionFacade`

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.typeresolution.rules

Classes in net.sourceforge.pmd.lang.java.typeresolution.rules that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `CloneMethodMustImplementCloneable` The method clone() should only be implemented if the class implements the Cloneable interface with the exception of a final method that only throws CloneNotSupportedException.
`class` | `LooseCoupling` This is a separate rule, uses the type resolution facade
`class` | `SignatureDeclareThrowsException` A method/constructor shouldn't explicitly throw java.lang.Exception, since it is unclear which exceptions that can be thrown from the methods.

### Uses of JavaParserVisitor in net.sourceforge.pmd.lang.java.typeresolution.rules.imports

Classes in net.sourceforge.pmd.lang.java.typeresolution.rules.imports that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `UnusedImports`

### Uses of JavaParserVisitor in net.sourceforge.pmd.util

Classes in net.sourceforge.pmd.util that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `SymbolTableViewer`

### Uses of JavaParserVisitor in net.sourceforge.pmd.util.designer

Classes in net.sourceforge.pmd.util.designer that implement JavaParserVisitor
Modifier and Type | Class and Description
--- | ---
`class` | `DFAGraphRule`