# Hierarchy For All Packages

Package Hierarchies:

- net.sourceforge.pmd,
- net.sourceforge.pmd.ant,
- net.sourceforge.pmd.ast,
- net.sourceforge.pmd.cli,
- net.sourceforge.pmd.coverage,
- net.sourceforge.pmd.cpd,
- net.sourceforge.pmd.dfa,
- net.sourceforge.pmd.jaxen,
- net.sourceforge.pmd.lang,
- net.sourceforge.pmd.lang.ast.xpath,
- net.sourceforge.pmd.lang.cpp,
- net.sourceforge.pmd.lang.dfa.report,
- net.sourceforge.pmd.lang.ecmascript,
- net.sourceforge.pmd.lang.ecmascript.ast,
- net.sourceforge.pmd.lang.ecmascript.rule.basic,
- net.sourceforge.pmd.lang.ecmascript.rule.braces,
- net.sourceforge.pmd.lang.ecmascript.rule.unnecessary,
- net.sourceforge.pmd.lang.java.rule,
- net.sourceforge.pmd.lang.java.rule.android,
- net.sourceforge.pmd.lang.java.rule.basic,
- net.sourceforge.pmd.lang.java.rule.braces,
- net.sourceforge.pmd.lang.java.rule.clone,
- 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.empty,
- net.sourceforge.pmd.lang.java.rule.finalizers,
- net.sourceforge.pmd.lang.java.rule.imports,
- net.sourceforge.pmd.lang.java.rule.j2ee,
- net.sourceforge.pmd.lang.java.rule.javabeans,
- net.sourceforge.pmd.lang.java.rule.junit,
- net.sourceforge.pmd.lang.java.rule.loggingjakartacommons,
- net.sourceforge.pmd.lang.java.rule.loggingjava,
- 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.typeresolution,
- net.sourceforge.pmd.lang.java.rule.typeresolution.xml,
- net.sourceforge.pmd.lang.java.rule.unnecessary,
- net.sourceforge.pmd.lang.java.rule.unusedcode,
- net.sourceforge.pmd.lang.jsp.ast,
- net.sourceforge.pmd.lang.jsp.rule.basic,
- net.sourceforge.pmd.lang.jsp.rule.basicjsf,
- net.sourceforge.pmd.lang.xml,
- net.sourceforge.pmd.lang.xml.rule,
- net.sourceforge.pmd.lang.xml.rule.basic,
- net.sourceforge.pmd.lang.xsl.rule.xpath,
- net.sourceforge.pmd.properties,
- net.sourceforge.pmd.renderers,
- net.sourceforge.pmd.stat,
- net.sourceforge.pmd.symboltable,
- net.sourceforge.pmd.testframework,
- net.sourceforge.pmd.typeresolution,
- net.sourceforge.pmd.typeresolution.testdata,
- net.sourceforge.pmd.util,
- net.sourceforge.pmd.util.filter

## Class Hierarchy

- java.lang.Object
  - net.sourceforge.pmd.lang.java.rule.comments.AbstractCommentRuleTest
  - net.sourceforge.pmd.lang.xml.rule.AbstractDomXmlRuleTest
  - net.sourceforge.pmd.lang.jsp.ast.AbstractJspNodesTst
    - net.sourceforge.pmd.lang.jsp.ast.JspDocStyleTest
    - net.sourceforge.pmd.lang.jsp.ast.JspPageStyleTest
  - net.sourceforge.pmd.lang.ast.AbstractNode (implements net.sourceforge.pmd.lang.ast.Node)
    - net.sourceforge.pmd.lang.java.ast.AbstractJavaNode (implements net.sourceforge.pmd.lang.java.ast.JavaNode)
      - net.sourceforge.pmd.lang.java.ast.AbstractJavaAccessNode (implements net.sourceforge.pmd.lang.java.ast.AccessNode)
        - net.sourceforge.pmd.ast.AccessNodeTest.MyAccessNode
    - net.sourceforge.pmd.jaxen.MatchesFunctionTest.MyNode
  - net.sourceforge.pmd.properties.AbstractPropertyDescriptorTester
    - net.sourceforge.pmd.properties.BooleanPropertyTest
    - net.sourceforge.pmd.properties.CharacterPropertyTest
    - net.sourceforge.pmd.properties.DoublePropertyTest
    - net.sourceforge.pmd.properties.EnumeratedPropertyTest
    - net.sourceforge.pmd.properties.FloatPropertyTest
    - net.sourceforge.pmd.properties.IntegerPropertyTest
    - net.sourceforge.pmd.properties.MethodPropertyTest
    - net.sourceforge.pmd.properties.StringPropertyTest
    - net.sourceforge.pmd.properties.TypePropertyTest
  - net.sourceforge.pmd.AbstractPropertySource (implements net.sourceforge.pmd.PropertySource)
    - net.sourceforge.pmd.lang.rule.AbstractRule (implements net.sourceforge.pmd.Rule)
      - net.sourceforge.pmd.lang.java.rule.AbstractJavaRule (implements net.sourceforge.pmd.lang.rule.ImmutableLanguage, net.sourceforge.pmd.lang.java.ast.JavaParserVisitor)
        - net.sourceforge.pmd.lang.java.rule.AbstractStatisticalJavaRule (implements net.sourceforge.pmd.lang.rule.stat.StatisticalRule)
          - net.sourceforge.pmd.stat.MockStatisticalRule
        - net.sourceforge.pmd.properties.NonRuleWithAllPropertyTypes
        - net.sourceforge.pmd.ReportTest.FooRule
  - net.sourceforge.pmd.AbstractRuleTest
  - net.sourceforge.pmd.testframework.AbstractTokenizerTest
    - net.sourceforge.pmd.cpd.FortranTokenizerTest
    - net.sourceforge.pmd.cpd.RubyTokenizerTest
  - net.sourceforge.pmd.lang.xml.rule.AbstractXmlRuleTest
  - net.sourceforge.pmd.typeresolution.testdata.AnonymousInnerClass
  - net.sourceforge.pmd.ant.AntTests
  - net.sourceforge.pmd.cpd.AnyTokenizerTest
  - net.sourceforge.pmd.util.ApplierTest
  - net.sourceforge.pmd.typeresolution.testdata.ArrayListFound
  - junit.framework.Assert
    - junit.framework.TestCase (implements junit.framework.Test)
      - org.apache.tools.ant.BuildFileTest
        - net.sourceforge.pmd.ant.PMDTaskTest
      - net.sourceforge.pmd.lang.java.rule.typeresolution.xml.MyTestCase
  - net.sourceforge.pmd.ast.ASTMethodDeclarationTest
  - net.sourceforge.pmd.ast.ASTTests
  - net.sourceforge.pmd.lang.ast.xpath.AttributeAxisIteratorTest
  - net.sourceforge.pmd.jaxen.AttributeAxisIteratorTest
  - net.sourceforge.pmd.jaxen.AttributeTest
  - net.sourceforge.pmd.typeresolution.ClassTypeResolverTest
  - net.sourceforge.pmd.typeresolution.ClassWithImportInnerOnDemand
  - net.sourceforge.pmd.typeresolution.ClassWithImportOnDemand
  - net.sourceforge.pmd.cli.CLITest
  - net.sourceforge.pmd.util.CompoundListTest
  - net.sourceforge.pmd.ConfigurationTest
  - net.sourceforge.pmd.lang.cpp.ContinuationReaderTest
  - net.sourceforge.pmd.cpd.CPDTest
  - net.sourceforge.pmd.cpd.CPPTokenizerTest
  - net.sourceforge.pmd.cpd.CsTokenizerTest
  - net.sourceforge.pmd.dfa.DataFlowNodeTest
  - net.sourceforge.pmd.util.DateTimeUtilTest
  - net.sourceforge.pmd.typeresolution.testdata.DefaultJavaLangImport
  - net.sourceforge.pmd.lang.ecmascript.EcmascriptParserOptionsTest
  - net.sourceforge.pmd.lang.ecmascript.ast.EcmascriptParserTest
  - net.sourceforge.pmd.cpd.EcmascriptTokenizerTest
  - net.sourceforge.pmd.ast.EncodingTest
  - net.sourceforge.pmd.typeresolution.testdata.ExtraTopLevelClass
  - net.sourceforge.pmd.cpd.FileReporterTest
  - net.sourceforge.pmd.FileSelectorTest
  - net.sourceforge.pmd.ant.FormatterTest
  - net.sourceforge.pmd.symboltable.ImageFinderFunctionTest
  - net.sourceforge.pmd.typeresolution.testdata.InnerClass
  - net.sourceforge.pmd.typeresolution.testdata.InnerClass.TheInnerClass
  - net.sourceforge.pmd.cpd.JavaTokensTokenizerTest
  - net.sourceforge.pmd.cpd.LanguageFactoryTest
  - net.sourceforge.pmd.LanguageVersionDiscovererTest
  - net.sourceforge.pmd.LanguageVersionTest
  - net.sourceforge.pmd.typeresolution.testdata.Literals
  - net.sourceforge.pmd.cpd.MatchAlgorithmTest
  - net.sourceforge.pmd.jaxen.MatchesFunctionTest
  - net.sourceforge.pmd.cpd.MatchTest
  - net.sourceforge.pmd.stat.MetricTest
  - net.sourceforge.pmd.lang.jsp.ast.OpenTagRegisterTest
  - net.sourceforge.pmd.typeresolution.testdata.Operators
  - net.sourceforge.pmd.lang.ParserOptionsTest
  - net.sourceforge.pmd.testframework.ParserTst
    - net.sourceforge.pmd.dfa.AcceptanceTest
    - net.sourceforge.pmd.ast.AccessNodeTest
    - net.sourceforge.pmd.ast.ASTAnnotationTest
    - net.sourceforge.pmd.ast.ASTAssignmentOperatorTest
    - net.sourceforge.pmd.ast.ASTBlockStatementTest
    - net.sourceforge.pmd.ast.ASTBooleanLiteralTest
    - net.sourceforge.pmd.ast.ASTFieldDeclarationTest
    - net.sourceforge.pmd.ast.ASTFormalParameterTest
    - net.sourceforge.pmd.ast.ASTImportDeclarationTest
    - net.sourceforge.pmd.ast.ASTInitializerTest
    - net.sourceforge.pmd.ast.ASTLiteralTest
    - net.sourceforge.pmd.ast.ASTLocalVariableDeclarationTest
    - net.sourceforge.pmd.ASTPackageDeclarationTest
    - net.sourceforge.pmd.ast.ASTPrimarySuffixTest
    - net.sourceforge.pmd.ast.ASTSwitchLabelTest
    - net.sourceforge.pmd.ast.ASTThrowStatementTest
    - net.sourceforge.pmd.ast.ASTVariableDeclaratorIdTest
    - net.sourceforge.pmd.ast.ClassDeclTest
    - net.sourceforge.pmd.dfa.DAAPathFinderTest (implements net.sourceforge.pmd.lang.dfa.pathfinder.Executable)
    - net.sourceforge.pmd.ast.FieldDeclTest
    - net.sourceforge.pmd.dfa.GeneralFiddlingTest
    - net.sourceforge.pmd.ast.JDKVersionTest
    - net.sourceforge.pmd.ast.MethodDeclTest
    - net.sourceforge.pmd.ast.ParserCornersTest
    - net.sourceforge.pmd.ast.SimpleNodeTest
    - net.sourceforge.pmd.dfa.StatementAndBraceFinderTest
  - net.sourceforge.pmd.typeresolution.PMDASMClassLoaderTest
  - net.sourceforge.pmd.coverage.PMDCoverageTest
  - net.sourceforge.pmd.typeresolution.testdata.Promotion
  - net.sourceforge.pmd.ReadableDurationTest
  - net.sourceforge.pmd.util.filter.RegexStringFilterTest
  - net.sourceforge.pmd.renderers.RenderersTests
  - net.sourceforge.pmd.RuleContextTest
  - net.sourceforge.pmd.RuleReferenceTest
  - net.sourceforge.pmd.RuleSetFactoryTest
  - net.sourceforge.pmd.RuleSetReferenceIdTest
  - net.sourceforge.pmd.RuleSetWriterTest
  - net.sourceforge.pmd.testframework.RuleTst
    - net.sourceforge.pmd.renderers.AbstractRendererTst
      - net.sourceforge.pmd.renderers.CSVRendererTest
      - net.sourceforge.pmd.renderers.EmacsRendererTest
      - net.sourceforge.pmd.renderers.HTMLRendererTest
      - net.sourceforge.pmd.renderers.IDEAJRendererTest
      - net.sourceforge.pmd.renderers.PapariTextRendererTest
      - net.sourceforge.pmd.renderers.SummaryHTMLRendererTest
      - net.sourceforge.pmd.renderers.TextPadRendererTest
      - net.sourceforge.pmd.renderers.TextRendererTest
      - net.sourceforge.pmd.renderers.VBHTMLRendererTest
      - net.sourceforge.pmd.renderers.YAHTMLRendererTest
    - net.sourceforge.pmd.lang.java.rule.codesize.CyclomaticComplexityTest
    - net.sourceforge.pmd.jaxen.DocumentNavigatorTest
    - net.sourceforge.pmd.ExcludeLinesTest
    - net.sourceforge.pmd.lang.java.rule.codesize.NPathComplexityTest
    - net.sourceforge.pmd.ReportTest (implements net.sourceforge.pmd.ReportListener)
    - net.sourceforge.pmd.RuleSetTest
    - net.sourceforge.pmd.testframework.SimpleAggregatorTst
      - net.sourceforge.pmd.lang.java.rule.android.AndroidRulesTest
      - net.sourceforge.pmd.lang.java.rule.strings.AvoidDuplicateLiteralsRuleTest
      - net.sourceforge.pmd.lang.jsp.rule.basicjsf.BasicJsfRulesTest
      - net.sourceforge.pmd.lang.jsp.rule.basic.BasicRulesTest
      - net.sourceforge.pmd.lang.xml.rule.basic.BasicRulesTest
      - net.sourceforge.pmd.lang.ecmascript.rule.basic.BasicRulesTest
      - net.sourceforge.pmd.lang.java.rule.basic.BasicRulesTest
      - net.sourceforge.pmd.lang.ecmascript.rule.braces.BracesRulesTest
      - net.sourceforge.pmd.lang.java.rule.braces.BracesRulesTest
      - net.sourceforge.pmd.lang.java.rule.typeresolution.CloneMethodMustImplementCloneableTest
      - net.sourceforge.pmd.lang.java.rule.clone.CloneRulesTest
      - net.sourceforge.pmd.lang.java.rule.codesize.CodesizeRulesTest
      - net.sourceforge.pmd.lang.java.rule.comments.CommentRulesTest
      - net.sourceforge.pmd.lang.java.rule.design.ConfusingTernaryRuleTest
      - net.sourceforge.pmd.lang.java.rule.design.ConstructorCallsOverridableMethodTest
      - net.sourceforge.pmd.lang.java.rule.controversial.ControversialRulesTest
      - net.sourceforge.pmd.lang.java.rule.coupling.CouplingRulesTest
      - net.sourceforge.pmd.lang.java.rule.design.DesignRulesTest
      - net.sourceforge.pmd.lang.java.rule.empty.EmptyRulesTest
      - net.sourceforge.pmd.lang.java.rule.finalizers.FinalizersRulesTest
      - net.sourceforge.pmd.lang.java.rule.imports.ImportsRulesTest
      - net.sourceforge.pmd.lang.java.rule.j2ee.J2EERulesTest
      - net.sourceforge.pmd.lang.java.rule.javabeans.JavabeansRulesTest
      - net.sourceforge.pmd.lang.java.rule.junit.JunitRulesTest
      - net.sourceforge.pmd.lang.java.rule.loggingjakartacommons.LoggingJakartaCommonsRulesTest
      - net.sourceforge.pmd.lang.java.rule.loggingjava.LoggingJavaRulesTest
      - net.sourceforge.pmd.lang.java.rule.typeresolution.LooseCouplingTest
      - net.sourceforge.pmd.lang.java.rule.migrating.MigratingRulesTest
      - net.sourceforge.pmd.lang.java.rule.naming.NamingRulesTest
      - net.sourceforge.pmd.lang.java.rule.optimizations.OptimizationsRulesTest
      - net.sourceforge.pmd.properties.PropertyAccessorTest
      - net.sourceforge.pmd.jaxen.RegexpAcceptanceTest
      - net.sourceforge.pmd.lang.java.rule.typeresolution.SignatureDeclareThrowsExceptionTest
      - net.sourceforge.pmd.lang.java.rule.strictexception.StrictExceptionRulesTest
      - net.sourceforge.pmd.lang.java.rule.strings.StringsRulesTest
      - net.sourceforge.pmd.lang.java.rule.sunsecure.SunSecureRulesTest
      - net.sourceforge.pmd.lang.java.rule.design.TooManyHttpFilterTest
      - net.sourceforge.pmd.lang.java.rule.design.UncommentedEmptyConstructorRuleTest
      - net.sourceforge.pmd.lang.java.rule.design.UncommentedEmptyMethodRuleTest
      - net.sourceforge.pmd.lang.ecmascript.rule.unnecessary.UnnecessaryRulesTest
      - net.sourceforge.pmd.lang.java.rule.unnecessary.UnnecessaryRulesTest
      - net.sourceforge.pmd.lang.java.rule.unusedcode.UnusedCodeRulesTest
      - net.sourceforge.pmd.lang.java.rule.typeresolution.UnusedImportsTest
      - net.sourceforge.pmd.lang.xsl.rule.xpath.XPathRulesTest
    - net.sourceforge.pmd.SuppressWarningsTest
    - net.sourceforge.pmd.renderers.XMLRendererTest
    - net.sourceforge.pmd.lang.jsp.ast.XPathJspRuleTest
    - net.sourceforge.pmd.lang.java.rule.XPathRuleTest
  - net.sourceforge.pmd.RuleViolationComparatorTest
  - net.sourceforge.pmd.RuleViolationTest
  - org.junit.runner.Runner
    - org.junit.internal.runners.JUnit4ClassRunner (implements org.junit.runner.manipulation.Filterable, org.junit.runner.manipulation.Sortable)
      - net.sourceforge.pmd.testframework.SimpleAggregatorTst.CustomXmlTestClassMethodsRunner
  - net.sourceforge.pmd.lang.ecmascript.ast.SourceCodePositionerTest
  - net.sourceforge.pmd.cpd.SourceCodeTest
  - net.sourceforge.pmd.stat.StatisticalRuleTest
  - net.sourceforge.pmd.stat.StatTests
  - net.sourceforge.pmd.symboltable.STBBaseTst
    - net.sourceforge.pmd.symboltable.AcceptanceTest
    - net.sourceforge.pmd.symboltable.ClassScopeTest
    - net.sourceforge.pmd.symboltable.GlobalScopeTest
    - net.sourceforge.pmd.symboltable.LocalScopeTest
    - net.sourceforge.pmd.symboltable.MethodNameDeclarationTest
    - net.sourceforge.pmd.symboltable.MethodScopeTest
    - net.sourceforge.pmd.symboltable.NameOccurrencesTest
    - net.sourceforge.pmd.symboltable.ScopeCreationVisitorTest
    - net.sourceforge.pmd.symboltable.SourceFileScopeTest
    - net.sourceforge.pmd.symboltable.VariableNameDeclarationTest
  - net.sourceforge.pmd.util.StringUtilTest
  - net.sourceforge.pmd.dfa.StructureTest
  - net.sourceforge.pmd.testframework.TestDescriptor
  - net.sourceforge.pmd.cpd.TokenEntryTest
  - net.sourceforge.pmd.util.TypeMapTest
  - net.sourceforge.pmd.symboltable.TypeSetTest
  - net.sourceforge.pmd.dfa.VariableAccessTest
  - net.sourceforge.pmd.symboltable.VariableUsageFinderFunctionTest
  - net.sourceforge.pmd.lang.dfa.report.ViolationNodeTest
  - net.sourceforge.pmd.lang.xml.XmlParserOptionsTest
  - net.sourceforge.pmd.cpd.XMLRendererTest
  - net.sourceforge.pmd.renderers.XSLTRendererTest

## Interface Hierarchy

- java.lang.Cloneable
  - net.sourceforge.pmd.lang.java.rule.typeresolution.xml.MyInterface