##### Project Documentation

- About groovy
- Project Info
- Project Reports
  - Project License
  - PMD Report
  - Metrics
  - Change Log
  - File Activity
  - Developer Activity
  - Source Xref
  - Test Xref
  - Unit Tests
  - FAQs
- Development Process

## PMD Results

The following document contains the results of PMD.

## Summary

Files | Errors
--- | ---
41 | 126

## Files

Files | Violations
--- | ---
groovy/lang/Closure.java | 4
groovy/lang/GroovyClassLoader.java | 2
groovy/lang/GroovyShell.java | 3
groovy/lang/MetaClass.java | 9
groovy/lang/MetaExpandoProperty.java | 1
groovy/lang/MetaMethod.java | 1
groovy/servlet/GroovyServlet.java | 4
groovy/servlet/ServletBinding.java | 1
groovy/servlet/TemplateServlet.java | 1
groovy/swing/SwingBuilder.java | 4
groovy/text/SimpleTemplateEngine.java | 1
groovy/text/Template.java | 1
groovy/ui/InteractiveShell.java | 1
groovy/util/AntBuilder.java | 3
groovy/util/CharsetToolkit.java | 1
groovy/util/GroovyMBean.java | 1
groovy/util/GroovyScriptEngine.java | 3
org/codehaus/groovy/ast/ClassNode.java | 1
org/codehaus/groovy/ast/CompileUnit.java | 4
org/codehaus/groovy/ast/expr/ArrayExpression.java | 1
org/codehaus/groovy/ast/expr/BinaryExpression.java | 1
org/codehaus/groovy/ast/expr/ListExpression.java | 1
org/codehaus/groovy/ast/expr/PropertyExpression.java | 2
org/codehaus/groovy/bsf/GroovyEngine.java | 1
org/codehaus/groovy/classgen/AsmClassGenerator.java | 8
org/codehaus/groovy/classgen/AsmClassGenerator2.java | 20
org/codehaus/groovy/classgen/BytecodeHelper.java | 3
org/codehaus/groovy/control/CompilationUnit.java | 1
org/codehaus/groovy/control/CompilerConfiguration.java | 4
org/codehaus/groovy/control/Janitor.java | 1
org/codehaus/groovy/control/SourceUnit.java | 3
org/codehaus/groovy/control/io/AbstractReaderSource.java | 2
org/codehaus/groovy/runtime/ClosureListener.java | 1
org/codehaus/groovy/runtime/DefaultGroovyMethods.java | 7
org/codehaus/groovy/runtime/Invoker.java | 4
org/codehaus/groovy/syntax/AbstractTokenStream.java | 2
org/codehaus/groovy/syntax/CSTNode.java | 1
org/codehaus/groovy/syntax/Reduction.java | 2
org/codehaus/groovy/syntax/Token.java | 1
org/codehaus/groovy/syntax/parser/ASTBuilder.java | 7
org/codehaus/groovy/syntax/parser/Parser.java | 7

### groovy/lang/Closure.java

Violation | Line
--- | ---
Avoid unused private fields such as 'noParameters' | 67
Avoid unused private fields such as 'emptyArrayParameter' | 69
Avoid empty catch blocks | 173
Avoid empty catch blocks | 199

### groovy/lang/GroovyClassLoader.java

Violation | Line
--- | ---
Avoid empty catch blocks | 127
Avoid empty catch blocks | 353

### groovy/lang/GroovyShell.java

Violation | Line
--- | ---
Avoid empty catch blocks | 152
Avoid empty catch blocks | 345
Avoid empty catch blocks | 348

### groovy/lang/MetaClass.java

Violation | Line
--- | ---
Avoid empty catch blocks | 579
Avoid empty catch blocks | 688
Avoid unused local variables such as 'answer' | 1019
Avoid empty catch blocks | 1410
Avoid empty catch blocks | 1454
Avoid empty catch blocks | 1463
Avoid empty catch blocks | 1640
Avoid unused local variables such as 'paramTypes' | 1707
Avoid empty catch blocks | 2233

### groovy/lang/MetaExpandoProperty.java

Violation | Line
--- | ---
Avoid unused imports such as 'Map' | 38

### groovy/lang/MetaMethod.java

Violation | Line
--- | ---
Avoid unused private fields such as 'log' | 55

### groovy/servlet/GroovyServlet.java

Violation | Line
--- | ---
Avoid unused imports such as 'Collections' | 45
Avoid unused imports such as 'Enumeration' | 46
Avoid unused imports such as 'HashMap' | 47
Avoid unused imports such as 'Map' | 48

### groovy/servlet/ServletBinding.java

Violation | Line
--- | ---
Avoid empty catch blocks | 116

### groovy/servlet/TemplateServlet.java

Violation | Line
--- | ---
Avoid unnecessary return statements | 466

### groovy/swing/SwingBuilder.java

Violation | Line
--- | ---
Avoid unused imports such as 'HashSet' | 84
Avoid unused imports such as 'Set' | 89
Avoid empty catch blocks | 191
Avoid empty 'if' statements | 229

### groovy/text/SimpleTemplateEngine.java

Violation | Line
--- | ---
Avoid unused local variables such as 'start' | 129

### groovy/text/Template.java

Violation | Line
--- | ---
Avoid unused imports such as 'Writer' | 39

### groovy/ui/InteractiveShell.java

Violation | Line
--- | ---
Avoid empty catch blocks | 233

### groovy/util/AntBuilder.java

Violation | Line
--- | ---
Avoid empty catch blocks | 235
Avoid empty catch blocks | 305
Avoid empty catch blocks | 342

### groovy/util/CharsetToolkit.java

Violation | Line
--- | ---
Avoid empty catch blocks | 407

### groovy/util/GroovyMBean.java

Violation | Line
--- | ---
Avoid unused imports such as 'MBeanServer' | 61

### groovy/util/GroovyScriptEngine.java

Violation | Line
--- | ---
Avoid unused private fields such as 'scriptClass' | 97
Avoid unused private fields such as 'lastModified' | 98
Avoid unused private fields such as 'dependencies' | 99

### org/codehaus/groovy/ast/ClassNode.java

Violation | Line
--- | ---
Avoid empty catch blocks | 683

### org/codehaus/groovy/ast/CompileUnit.java

Violation | Line
--- | ---
Avoid empty catch blocks | 141
Avoid empty catch blocks | 152
Avoid empty catch blocks | 164
Avoid empty catch blocks | 173

### org/codehaus/groovy/ast/expr/ArrayExpression.java

Violation | Line
--- | ---
Avoid empty 'if' statements | 88

### org/codehaus/groovy/ast/expr/BinaryExpression.java

Violation | Line
--- | ---
Avoid unused private methods such as 'isInteger' | 295

### org/codehaus/groovy/ast/expr/ListExpression.java

Violation | Line
--- | ---
Avoid unused local variables such as 'first' | 127

### org/codehaus/groovy/ast/expr/PropertyExpression.java

Violation | Line
--- | ---
Avoid empty 'if' statements | 136
Avoid empty 'if' statements | 159

### org/codehaus/groovy/bsf/GroovyEngine.java

Violation | Line
--- | ---
Avoid unused private fields such as 'EMPTY_ARGS' | 68

### org/codehaus/groovy/classgen/AsmClassGenerator.java

Violation | Line
--- | ---
Avoid unused imports such as 'AccessControlException' | 44
Avoid unused imports such as 'LinkedList' | 49
Avoid unused imports such as 'CodeVisitorSupport' | 57
Avoid unused imports such as 'GroovyClassVisitor' | 61
Avoid unused imports such as 'Constants' | 120
Avoid empty catch blocks | 1652
Avoid empty catch blocks | 1723
Avoid unused local variables such as 'parentIsInnerClass' | 2299

### org/codehaus/groovy/classgen/AsmClassGenerator2.java

Violation | Line
--- | ---
Avoid unused imports such as 'SyntaxException' | 110
Avoid empty 'if' statements | 971
Avoid empty 'if' statements | 982
Avoid empty 'if' statements | 1598
Avoid unnecessary return statements | 1660
Avoid empty 'if' statements | 1935
Avoid empty catch blocks | 2015
Avoid empty catch blocks | 2519
Avoid empty 'if' statements | 2632
Avoid empty 'if' statements | 2657
Avoid empty switch statements | 3025
Avoid unused local variables such as 'parentIsInnerClass' | 3285
Avoid unnecessary return statements | 4785
Avoid unnecessary return statements | 4903
Avoid unused local variables such as 'isSuperCall' | 4926
Avoid unnecessary return statements | 5015
Avoid empty catch blocks | 5100
Avoid unnecessary return statements | 5221
Avoid empty 'if' statements | 5253
Avoid unused local variables such as 'handled' | 5272

### org/codehaus/groovy/classgen/BytecodeHelper.java

Violation | Line
--- | ---
Avoid empty 'if' statements | 595
Avoid unused local variables such as 'type' | 615
Avoid unused local variables such as 'type' | 626

### org/codehaus/groovy/control/CompilationUnit.java

Violation | Line
--- | ---
Avoid empty catch blocks | 667

### org/codehaus/groovy/control/CompilerConfiguration.java

Violation | Line
--- | ---
Avoid empty catch blocks | 109
Avoid empty catch blocks | 110
Avoid empty catch blocks | 111
Avoid empty catch blocks | 121

### org/codehaus/groovy/control/Janitor.java

Violation | Line
--- | ---
Avoid empty catch blocks | 80

### org/codehaus/groovy/control/SourceUnit.java

Violation | Line
--- | ---
Avoid unused imports such as 'Constructor' | 52
Avoid unused imports such as 'InvocationTargetException' | 53
Avoid empty catch blocks | 309

### org/codehaus/groovy/control/io/AbstractReaderSource.java

Violation | Line
--- | ---
Avoid empty catch blocks | 123
Avoid empty catch blocks | 169

### org/codehaus/groovy/runtime/ClosureListener.java

Violation | Line
--- | ---
Ensure you override both equals() and hashCode() | 91

### org/codehaus/groovy/runtime/DefaultGroovyMethods.java

Violation | Line
--- | ---
Avoid empty catch blocks | 3185
Avoid empty catch blocks | 3240
Avoid empty catch blocks | 3976
Avoid empty catch blocks | 4010
Avoid empty catch blocks | 4178
Avoid empty catch blocks | 4183
Avoid empty catch blocks | 4230

### org/codehaus/groovy/runtime/Invoker.java

Violation | Line
--- | ---
Avoid unused local variables such as 'argumentList' | 172
Avoid empty catch blocks | 351
Avoid empty catch blocks | 510
Avoid empty catch blocks | 605

### org/codehaus/groovy/syntax/AbstractTokenStream.java

Violation | Line
--- | ---
Avoid empty catch blocks | 197
Avoid empty catch blocks | 204

### org/codehaus/groovy/syntax/CSTNode.java

Violation | Line
--- | ---
No need to import a type that's in the same package | 50

### org/codehaus/groovy/syntax/Reduction.java

Violation | Line
--- | ---
No need to import a type that's in the same package | 50
No need to import a type that's in the same package | 51

### org/codehaus/groovy/syntax/Token.java

Violation | Line
--- | ---
No need to import a type that's in the same package | 50

### org/codehaus/groovy/syntax/parser/ASTBuilder.java

Violation | Line
--- | ---
Avoid unused private fields such as 'EMPTY_STRING_ARRAY' | 128
Avoid unused local variables such as 'init' | 1022
Avoid unused local variables such as 'test' | 1023
Avoid unused local variables such as 'incr' | 1024
Avoid empty catch blocks | 2066
Avoid empty catch blocks | 2080
Avoid empty catch blocks | 2101

### org/codehaus/groovy/syntax/parser/Parser.java

Violation | Line
--- | ---
Avoid unused private fields such as 'nestCount' | 76
Avoid unused local variables such as 'collector' | 277
Avoid empty 'if' statements | 488
Avoid unused local variables such as 'bareMode' | 2348
Avoid unused local variables such as 'theDot' | 2635
Avoid unused local variables such as 'reduce' | 2877
Avoid unused local variables such as 'type' | 3434