You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/06/25 16:08:47 UTC

[groovy] branch GROOVY_3_0_X updated: Trivial refactoring: Make fields `final`

This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
     new a621a50  Trivial refactoring: Make fields `final`
a621a50 is described below

commit a621a500f71d761ee826ea80bc82a61fac7be6d6
Author: Daniel Sun <su...@apache.org>
AuthorDate: Fri Jun 26 00:07:07 2020 +0800

    Trivial refactoring: Make fields `final`
    
    (cherry picked from commit bec43f1d86b8e7847e3fdcc6ac135e1aedb16af3)
---
 src/main/java/groovy/lang/GroovyCodeSource.java            |  4 ++--
 src/main/java/groovy/lang/GroovyShell.java                 |  4 ++--
 src/main/java/groovy/lang/IntRange.java                    |  2 +-
 src/main/java/groovy/lang/groovydoc/Groovydoc.java         |  2 +-
 src/main/java/groovy/lang/groovydoc/GroovydocTag.java      |  6 +++---
 src/main/java/groovy/namespace/QName.java                  |  6 +++---
 src/main/java/groovy/ui/GroovyMain.java                    |  8 ++++----
 src/main/java/groovy/ui/GroovySocketServer.java            | 10 +++++-----
 src/main/java/groovy/util/ObservableList.java              |  6 +++---
 src/main/java/groovy/util/ObservableMap.java               |  4 ++--
 src/main/java/groovy/util/ObservableSet.java               |  6 +++---
 .../apache/groovy/ast/tools/ImmutablePropertyUtils.java    |  2 +-
 src/main/java/org/codehaus/groovy/ast/ClassNode.java       |  2 +-
 src/main/java/org/codehaus/groovy/ast/GenericsType.java    |  2 +-
 .../org/codehaus/groovy/ast/expr/PropertyExpression.java   |  2 +-
 .../java/org/codehaus/groovy/ast/stmt/BreakStatement.java  |  2 +-
 .../java/org/codehaus/groovy/ast/stmt/CatchStatement.java  |  2 +-
 .../org/codehaus/groovy/ast/stmt/ContinueStatement.java    |  2 +-
 .../java/org/codehaus/groovy/ast/stmt/ForStatement.java    |  2 +-
 .../org/codehaus/groovy/ast/stmt/TryCatchStatement.java    |  4 ++--
 .../org/codehaus/groovy/classgen/asm/BytecodeHelper.java   | 14 +++++++-------
 .../org/codehaus/groovy/classgen/asm/CallSiteWriter.java   |  2 +-
 .../org/codehaus/groovy/classgen/asm/ClosureWriter.java    |  2 +-
 .../groovy/classgen/asm/OptimizingStatementWriter.java     |  4 ++--
 .../org/codehaus/groovy/classgen/asm/WriterController.java |  2 +-
 .../java/org/codehaus/groovy/control/CompilationUnit.java  | 10 +++++-----
 .../codehaus/groovy/control/messages/LocatedMessage.java   |  2 +-
 .../java/org/codehaus/groovy/reflection/CachedClass.java   |  6 +++---
 .../java/org/codehaus/groovy/runtime/ComposedClosure.java  |  4 ++--
 .../org/codehaus/groovy/runtime/DefaultGroovyMethods.java  |  2 +-
 .../java/org/codehaus/groovy/runtime/IOGroovyMethods.java  |  6 +++---
 .../org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java |  4 ++--
 .../java/org/codehaus/groovy/runtime/ScriptReference.java  |  4 ++--
 .../groovy/runtime/metaclass/ClosureMetaClass.java         |  2 +-
 .../runtime/metaclass/MissingMethodExecutionFailed.java    |  2 +-
 .../codehaus/groovy/runtime/powerassert/SourceText.java    |  2 +-
 src/main/java/org/codehaus/groovy/tools/Utilities.java     |  2 +-
 .../codehaus/groovy/transform/NewifyASTTransformation.java |  2 +-
 .../java/org/codehaus/groovy/util/ReferenceManager.java    |  4 ++--
 39 files changed, 77 insertions(+), 77 deletions(-)

diff --git a/src/main/java/groovy/lang/GroovyCodeSource.java b/src/main/java/groovy/lang/GroovyCodeSource.java
index 6d6bfd2..22d8229 100644
--- a/src/main/java/groovy/lang/GroovyCodeSource.java
+++ b/src/main/java/groovy/lang/GroovyCodeSource.java
@@ -48,12 +48,12 @@ public class GroovyCodeSource {
      * The codeSource to be given the generated class.  This can be used by policy file
      * grants to administer security.
      */
-    private CodeSource codeSource;
+    private final CodeSource codeSource;
 
     /**
      * The name given to the generated class
      */
-    private String name;
+    private final String name;
 
     /**
      * The groovy source to be compiled and turned into a class
diff --git a/src/main/java/groovy/lang/GroovyShell.java b/src/main/java/groovy/lang/GroovyShell.java
index bb47274..218bc83 100644
--- a/src/main/java/groovy/lang/GroovyShell.java
+++ b/src/main/java/groovy/lang/GroovyShell.java
@@ -53,7 +53,7 @@ public class GroovyShell extends GroovyObjectSupport {
     private final Binding context;
     private final AtomicInteger counter = new AtomicInteger(0);
     private final CompilerConfiguration config;
-    private GroovyClassLoader loader;
+    private final GroovyClassLoader loader;
 
     public static void main(String[] args) {
         GroovyMain.main(args);
@@ -186,7 +186,7 @@ public class GroovyShell extends GroovyObjectSupport {
         //ClassLoader currentClassLoader = thread.getContextClassLoader();
 
         class DoSetContext implements PrivilegedAction {
-            ClassLoader classLoader;
+            final ClassLoader classLoader;
 
             public DoSetContext(ClassLoader loader) {
                 classLoader = loader;
diff --git a/src/main/java/groovy/lang/IntRange.java b/src/main/java/groovy/lang/IntRange.java
index 8a1a172..8d733e3 100644
--- a/src/main/java/groovy/lang/IntRange.java
+++ b/src/main/java/groovy/lang/IntRange.java
@@ -68,7 +68,7 @@ public class IntRange extends AbstractList<Integer> implements Range<Integer>, S
         /**
          * The number of values in the range.
          */
-        private int size = size();
+        private final int size = size();
 
         /**
          * The next value to return.
diff --git a/src/main/java/groovy/lang/groovydoc/Groovydoc.java b/src/main/java/groovy/lang/groovydoc/Groovydoc.java
index 5923cfa..6b8bf09 100644
--- a/src/main/java/groovy/lang/groovydoc/Groovydoc.java
+++ b/src/main/java/groovy/lang/groovydoc/Groovydoc.java
@@ -28,7 +28,7 @@ import java.util.Objects;
  */
 public class Groovydoc {
     private final String content;
-    private List<GroovydocTag> tagList = Collections.emptyList();
+    private final List<GroovydocTag> tagList = Collections.emptyList();
     private GroovydocHolder holder;
     public static final Groovydoc EMPTY_GROOVYDOC = new Groovydoc("") {
         @Override
diff --git a/src/main/java/groovy/lang/groovydoc/GroovydocTag.java b/src/main/java/groovy/lang/groovydoc/GroovydocTag.java
index 14e5aaa..f1372a4 100644
--- a/src/main/java/groovy/lang/groovydoc/GroovydocTag.java
+++ b/src/main/java/groovy/lang/groovydoc/GroovydocTag.java
@@ -24,9 +24,9 @@ import java.util.Objects;
  * TODO parse groovydoc to get tag content
  */
 public class GroovydocTag {
-    private String name;
-    private String content;
-    private Groovydoc groovydoc;
+    private final String name;
+    private final String content;
+    private final Groovydoc groovydoc;
 
     public GroovydocTag(String name, String content, Groovydoc groovydoc) {
         this.name = name;
diff --git a/src/main/java/groovy/namespace/QName.java b/src/main/java/groovy/namespace/QName.java
index e029fc5..6e8972d 100644
--- a/src/main/java/groovy/namespace/QName.java
+++ b/src/main/java/groovy/namespace/QName.java
@@ -36,13 +36,13 @@ public class QName implements Serializable {
     private static final String EMPTY_STRING = "";
 
     /** Field namespaceURI */
-    private String namespaceURI;
+    private final String namespaceURI;
 
     /** Field localPart */
-    private String localPart;
+    private final String localPart;
 
     /** Field prefix */
-    private String prefix;
+    private final String prefix;
 
     /**
      * Constructor for the QName.
diff --git a/src/main/java/groovy/ui/GroovyMain.java b/src/main/java/groovy/ui/GroovyMain.java
index ff6a8f7..eb08c58 100644
--- a/src/main/java/groovy/ui/GroovyMain.java
+++ b/src/main/java/groovy/ui/GroovyMain.java
@@ -104,7 +104,7 @@ public class GroovyMain {
     private boolean debug = false;
 
     // Compiler configuration, used to set the encodings of the scripts/classes
-    private CompilerConfiguration conf = new CompilerConfiguration(System.getProperties());
+    private final CompilerConfiguration conf = new CompilerConfiguration(System.getProperties());
 
     /**
      * Main CLI interface.
@@ -177,14 +177,14 @@ public class GroovyMain {
         private String classpath;
 
         @Option(names = {"-D", "--define"}, paramLabel = "<property=value>", description = "Define a system property")
-        private Map<String, String> systemProperties = new LinkedHashMap<String, String>();
+        private final Map<String, String> systemProperties = new LinkedHashMap<String, String>();
 
         @Option(names = "--disableopt", paramLabel = "optlist", split = ",",
                 description = {
                         "Disables one or all optimization elements; optlist can be a comma separated list with the elements: ",
                                 "all (disables all optimizations), ",
                                 "int (disable any int based optimizations)"})
-        private List<String> disableopt = new ArrayList<String>();
+        private final List<String> disableopt = new ArrayList<String>();
 
         @Option(names = {"-d", "--debug"}, description = "Debug mode will print out full stack traces")
         private boolean debug;
@@ -522,7 +522,7 @@ public class GroovyMain {
     private static void setupContextClassLoader(GroovyShell shell) {
         final Thread current = Thread.currentThread();
         class DoSetContext implements PrivilegedAction<Object> {
-            ClassLoader classLoader;
+            final ClassLoader classLoader;
 
             public DoSetContext(ClassLoader loader) {
                 classLoader = loader;
diff --git a/src/main/java/groovy/ui/GroovySocketServer.java b/src/main/java/groovy/ui/GroovySocketServer.java
index e306fd5..8000094 100644
--- a/src/main/java/groovy/ui/GroovySocketServer.java
+++ b/src/main/java/groovy/ui/GroovySocketServer.java
@@ -168,11 +168,11 @@ public class GroovySocketServer implements Runnable {
     }
     
     static class GroovyClientConnection implements Runnable {
-        private Script script;
-        private Socket socket;
-        private BufferedReader reader;
-        private PrintWriter writer;
-        private boolean autoOutputFlag;
+        private final Script script;
+        private final Socket socket;
+        private final BufferedReader reader;
+        private final PrintWriter writer;
+        private final boolean autoOutputFlag;
     
         GroovyClientConnection(Script script, boolean autoOutput,Socket socket) throws IOException {
             this.script = script;
diff --git a/src/main/java/groovy/util/ObservableList.java b/src/main/java/groovy/util/ObservableList.java
index 84a9c89..b42f6b2 100644
--- a/src/main/java/groovy/util/ObservableList.java
+++ b/src/main/java/groovy/util/ObservableList.java
@@ -529,7 +529,7 @@ public class ObservableList implements List {
 
     public static class ElementClearedEvent extends ElementEvent {
         private static final long serialVersionUID = -2754983590419383972L;
-        private List values = new ArrayList();
+        private final List values = new ArrayList();
 
         public ElementClearedEvent(Object source, List values) {
             super(source, ChangeType.oldValue, ChangeType.newValue, 0, ChangeType.CLEARED);
@@ -545,7 +545,7 @@ public class ObservableList implements List {
 
     public static class MultiElementAddedEvent extends ElementEvent {
         private static final long serialVersionUID = 443060557109693114L;
-        private List values = new ArrayList();
+        private final List values = new ArrayList();
 
         public MultiElementAddedEvent(Object source, int index, List values) {
             super(source, ChangeType.oldValue, ChangeType.newValue, index, ChangeType.MULTI_ADD);
@@ -561,7 +561,7 @@ public class ObservableList implements List {
 
     public static class MultiElementRemovedEvent extends ElementEvent {
         private static final long serialVersionUID = 2590238951081945868L;
-        private List values = new ArrayList();
+        private final List values = new ArrayList();
 
         public MultiElementRemovedEvent(Object source, List values) {
             super(source, ChangeType.oldValue, ChangeType.newValue, 0, ChangeType.MULTI_REMOVE);
diff --git a/src/main/java/groovy/util/ObservableMap.java b/src/main/java/groovy/util/ObservableMap.java
index 2ccec3c..746b35d 100644
--- a/src/main/java/groovy/util/ObservableMap.java
+++ b/src/main/java/groovy/util/ObservableMap.java
@@ -331,7 +331,7 @@ public class ObservableMap implements Map {
 
     public abstract static class PropertyEvent extends PropertyChangeEvent {
         private static final long serialVersionUID = -8328412226044328674L;
-        private ChangeType type;
+        private final ChangeType type;
 
         public PropertyEvent(Object source, String propertyName, Object oldValue, Object newValue, ChangeType type) {
             super(source, propertyName, oldValue, newValue);
@@ -377,7 +377,7 @@ public class ObservableMap implements Map {
 
     public static class PropertyClearedEvent extends PropertyEvent {
         private static final long serialVersionUID = -1472110679547513634L;
-        private Map values = new HashMap();
+        private final Map values = new HashMap();
 
         public PropertyClearedEvent(Object source, Map values) {
             super(source, ObservableMap.CLEARED_PROPERTY, values, null, ChangeType.CLEARED);
diff --git a/src/main/java/groovy/util/ObservableSet.java b/src/main/java/groovy/util/ObservableSet.java
index 7ac3ce9..683340f 100644
--- a/src/main/java/groovy/util/ObservableSet.java
+++ b/src/main/java/groovy/util/ObservableSet.java
@@ -384,7 +384,7 @@ public class ObservableSet<E> implements Set<E> {
 
     public static class ElementClearedEvent extends ElementEvent {
         private static final long serialVersionUID = 6075523774365623231L;
-        private List values = new ArrayList();
+        private final List values = new ArrayList();
 
         public ElementClearedEvent(Object source, List values) {
             super(source, ChangeType.oldValue, ChangeType.newValue, ChangeType.CLEARED);
@@ -400,7 +400,7 @@ public class ObservableSet<E> implements Set<E> {
 
     public static class MultiElementAddedEvent extends ElementEvent {
         private static final long serialVersionUID = 575204921472897312L;
-        private List values = new ArrayList();
+        private final List values = new ArrayList();
 
         public MultiElementAddedEvent(Object source, List values) {
             super(source, ChangeType.oldValue, ChangeType.newValue, ChangeType.MULTI_ADD);
@@ -416,7 +416,7 @@ public class ObservableSet<E> implements Set<E> {
 
     public static class MultiElementRemovedEvent extends ElementEvent {
         private static final long serialVersionUID = 8894701122065438905L;
-        private List values = new ArrayList();
+        private final List values = new ArrayList();
 
         public MultiElementRemovedEvent(Object source, List values) {
             super(source, ChangeType.oldValue, ChangeType.newValue, ChangeType.MULTI_REMOVE);
diff --git a/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java b/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java
index 7ee64a6..635d10c 100644
--- a/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java
+++ b/src/main/java/org/apache/groovy/ast/tools/ImmutablePropertyUtils.java
@@ -69,7 +69,7 @@ public class ImmutablePropertyUtils {
               This list can by extended by providing "known immutable" classes
               via Immutable.knownImmutableClasses
              */
-    private static Set<String> builtinImmutables = new HashSet<String>(Arrays.asList(
+    private static final Set<String> builtinImmutables = new HashSet<String>(Arrays.asList(
             "java.lang.Class",
             "java.lang.Boolean",
             "java.lang.Byte",
diff --git a/src/main/java/org/codehaus/groovy/ast/ClassNode.java b/src/main/java/org/codehaus/groovy/ast/ClassNode.java
index 4d0e12f..de5d97b 100644
--- a/src/main/java/org/codehaus/groovy/ast/ClassNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/ClassNode.java
@@ -140,7 +140,7 @@ public class ClassNode extends AnnotatedNode implements Opcodes {
     private MixinNode[] mixins;
     private List<Statement> objectInitializers;
     private List<ConstructorNode> constructors;
-    private MapOfLists methods;
+    private final MapOfLists methods;
     private List<MethodNode> methodsList;
     private LinkedList<FieldNode> fields;
     private List<PropertyNode> properties;
diff --git a/src/main/java/org/codehaus/groovy/ast/GenericsType.java b/src/main/java/org/codehaus/groovy/ast/GenericsType.java
index 61cf867..e88de1e 100644
--- a/src/main/java/org/codehaus/groovy/ast/GenericsType.java
+++ b/src/main/java/org/codehaus/groovy/ast/GenericsType.java
@@ -514,7 +514,7 @@ public class GenericsType extends ASTNode {
      * We should find a way to set declaring class for `GenericsType` first, it can be completed at the resolving phase.
      */
     public static class GenericsTypeName {
-        private String name;
+        private final String name;
 
         public GenericsTypeName(final String name) {
             this.name = Objects.requireNonNull(name);
diff --git a/src/main/java/org/codehaus/groovy/ast/expr/PropertyExpression.java b/src/main/java/org/codehaus/groovy/ast/expr/PropertyExpression.java
index 7bfaf84..3ae3b28 100644
--- a/src/main/java/org/codehaus/groovy/ast/expr/PropertyExpression.java
+++ b/src/main/java/org/codehaus/groovy/ast/expr/PropertyExpression.java
@@ -27,7 +27,7 @@ public class PropertyExpression extends Expression {
 
     private Expression objectExpression;
     private final Expression property;
-    private boolean safe;
+    private final boolean safe;
     private boolean spreadSafe;
     private boolean isStatic;
     private boolean implicitThis;
diff --git a/src/main/java/org/codehaus/groovy/ast/stmt/BreakStatement.java b/src/main/java/org/codehaus/groovy/ast/stmt/BreakStatement.java
index ded97c2..76d7f8f 100644
--- a/src/main/java/org/codehaus/groovy/ast/stmt/BreakStatement.java
+++ b/src/main/java/org/codehaus/groovy/ast/stmt/BreakStatement.java
@@ -25,7 +25,7 @@ import org.codehaus.groovy.ast.GroovyCodeVisitor;
  */
 public class BreakStatement extends Statement {
 
-    private String label;
+    private final String label;
     
     public BreakStatement() {
         this(null);
diff --git a/src/main/java/org/codehaus/groovy/ast/stmt/CatchStatement.java b/src/main/java/org/codehaus/groovy/ast/stmt/CatchStatement.java
index ce0fe17..59eb0a3 100644
--- a/src/main/java/org/codehaus/groovy/ast/stmt/CatchStatement.java
+++ b/src/main/java/org/codehaus/groovy/ast/stmt/CatchStatement.java
@@ -28,7 +28,7 @@ import org.codehaus.groovy.ast.Parameter;
  */
 public class CatchStatement extends Statement {
 
-    private Parameter variable;
+    private final Parameter variable;
 
     private Statement code;
     
diff --git a/src/main/java/org/codehaus/groovy/ast/stmt/ContinueStatement.java b/src/main/java/org/codehaus/groovy/ast/stmt/ContinueStatement.java
index d261b5a..58a0015 100644
--- a/src/main/java/org/codehaus/groovy/ast/stmt/ContinueStatement.java
+++ b/src/main/java/org/codehaus/groovy/ast/stmt/ContinueStatement.java
@@ -26,7 +26,7 @@ import org.codehaus.groovy.ast.GroovyCodeVisitor;
  */
 public class ContinueStatement extends Statement {
 
-    private String label;
+    private final String label;
     
     public ContinueStatement() {
         this(null);
diff --git a/src/main/java/org/codehaus/groovy/ast/stmt/ForStatement.java b/src/main/java/org/codehaus/groovy/ast/stmt/ForStatement.java
index 0e8b45f..e698530 100644
--- a/src/main/java/org/codehaus/groovy/ast/stmt/ForStatement.java
+++ b/src/main/java/org/codehaus/groovy/ast/stmt/ForStatement.java
@@ -31,7 +31,7 @@ import org.codehaus.groovy.ast.expr.Expression;
 public class ForStatement extends Statement implements LoopingStatement {
     public static final Parameter FOR_LOOP_DUMMY = new Parameter(ClassHelper.OBJECT_TYPE,"forLoopDummyParameter");
 
-    private Parameter variable;
+    private final Parameter variable;
     private Expression collectionExpression;
     private Statement loopBlock;
     private VariableScope scope;
diff --git a/src/main/java/org/codehaus/groovy/ast/stmt/TryCatchStatement.java b/src/main/java/org/codehaus/groovy/ast/stmt/TryCatchStatement.java
index e21b3f9..fa6727b 100644
--- a/src/main/java/org/codehaus/groovy/ast/stmt/TryCatchStatement.java
+++ b/src/main/java/org/codehaus/groovy/ast/stmt/TryCatchStatement.java
@@ -33,8 +33,8 @@ import java.util.List;
 public class TryCatchStatement extends Statement {
     private static final String IS_RESOURCE = "_IS_RESOURCE";
     private Statement tryStatement;
-    private List<ExpressionStatement> resourceStatements = new ArrayList<>();
-    private List<CatchStatement> catchStatements = new ArrayList<>();
+    private final List<ExpressionStatement> resourceStatements = new ArrayList<>();
+    private final List<CatchStatement> catchStatements = new ArrayList<>();
     private Statement finallyStatement;
     
 
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java b/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
index 6dea156..d9795ab 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/BytecodeHelper.java
@@ -48,7 +48,7 @@ import static org.codehaus.groovy.ast.ClassHelper.short_TYPE;
  */
 public class BytecodeHelper implements Opcodes {
 
-    private static String DTT_CLASSNAME = BytecodeHelper.getClassInternalName(DefaultTypeTransformation.class);
+    private static final String DTT_CLASSNAME = BytecodeHelper.getClassInternalName(DefaultTypeTransformation.class);
 
     /**
      * @return the ASM internal name of the type
@@ -668,7 +668,7 @@ public class BytecodeHelper implements Opcodes {
     }
 
     private static class ReturnVarHandler extends PrimitiveTypeHandler {
-        private MethodVisitor mv;
+        private final MethodVisitor mv;
 
         public ReturnVarHandler(MethodVisitor mv, ClassNode type) {
             super(type);
@@ -707,8 +707,8 @@ public class BytecodeHelper implements Opcodes {
     }
 
     private static class LoadVarHandler extends PrimitiveTypeHandler {
-        private MethodVisitor mv;
-        private int idx;
+        private final MethodVisitor mv;
+        private final int idx;
 
         public LoadVarHandler(MethodVisitor mv, ClassNode type, int idx) {
             super(type);
@@ -748,8 +748,8 @@ public class BytecodeHelper implements Opcodes {
     }
 
     private static class StoreVarHandler extends PrimitiveTypeHandler {
-        private MethodVisitor mv;
-        private int idx;
+        private final MethodVisitor mv;
+        private final int idx;
 
         public StoreVarHandler(MethodVisitor mv, ClassNode type, int idx) {
             super(type);
@@ -789,7 +789,7 @@ public class BytecodeHelper implements Opcodes {
     }
 
     private static abstract class PrimitiveTypeHandler {
-        private ClassNode type;
+        private final ClassNode type;
 
         public PrimitiveTypeHandler(ClassNode type) {
             this.type = type;
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java
index b99ffe5..b390bf2 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/CallSiteWriter.java
@@ -68,7 +68,7 @@ import static org.objectweb.asm.Opcodes.RETURN;
  */
 public class CallSiteWriter {
     private static final int SIG_ARRAY_LENGTH = 255;
-    private static String [] sig = new String [SIG_ARRAY_LENGTH];
+    private static final String [] sig = new String [SIG_ARRAY_LENGTH];
     private static String getCreateArraySignature(int numberOfArguments) {
         if (numberOfArguments >= SIG_ARRAY_LENGTH) {
             throw new IllegalArgumentException(String.format(
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
index 2ce75b4..e06ac84 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/ClosureWriter.java
@@ -326,7 +326,7 @@ public class ClosureWriter {
     }
 
     protected static class CorrectAccessedVariableVisitor extends CodeVisitorSupport {
-        private InnerClassNode icn;
+        private final InnerClassNode icn;
 
         public CorrectAccessedVariableVisitor(final InnerClassNode icn) {
             this.icn = icn;
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
index d905a33..636368d 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/OptimizingStatementWriter.java
@@ -439,8 +439,8 @@ public class OptimizingStatementWriter extends StatementWriter {
     }
 
     private static class FastPathData {
-        private Label pathStart = new Label();
-        private Label afterPath = new Label();
+        private final Label pathStart = new Label();
+        private final Label afterPath = new Label();
     }
 
     public static class StatementMeta {
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java b/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java
index fe8dc41..740b551 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/WriterController.java
@@ -73,7 +73,7 @@ public class WriterController {
     private int bytecodeVersion = Opcodes.V1_8;
     private int lineNumber = -1;
     private int helperMethodIndex = 0;
-    private List<String> superMethodNames = new ArrayList<>();
+    private final List<String> superMethodNames = new ArrayList<>();
     private MethodPointerExpressionWriter methodPointerExpressionWriter;
     private MethodReferenceExpressionWriter methodReferenceExpressionWriter;
 
diff --git a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
index 7f587b7..a712154 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilationUnit.java
@@ -101,10 +101,10 @@ public class CompilationUnit extends ProcessingUnit {
     protected Queue<SourceUnit> queuedSources = new LinkedList<>();
 
     /** The classes generated during classgen. */
-    private List<GroovyClass> generatedClasses = new ArrayList<>();
+    private final List<GroovyClass> generatedClasses = new ArrayList<>();
 
-    private Deque<PhaseOperation>[] phaseOperations;
-    private Deque<PhaseOperation>[] newPhaseOperations;
+    private final Deque<PhaseOperation>[] phaseOperations;
+    private final Deque<PhaseOperation>[] newPhaseOperations;
     {
         final int n = Phases.ALL + 1;
         phaseOperations = new Deque[n];
@@ -131,7 +131,7 @@ public class CompilationUnit extends ProcessingUnit {
     /** The AST transformations state data. */
     protected ASTTransformationsContext astTransformationsContext;
 
-    private Set<javax.tools.JavaFileObject> javaCompilationUnitSet = new HashSet<>();
+    private final Set<javax.tools.JavaFileObject> javaCompilationUnitSet = new HashSet<>();
 
     /**
      * Initializes the CompilationUnit with defaults.
@@ -523,7 +523,7 @@ public class CompilationUnit extends ProcessingUnit {
      */
     public Iterator<SourceUnit> iterator() {
         return new Iterator<SourceUnit>() {
-            private Iterator<String> nameIterator = sources.keySet().iterator();
+            private final Iterator<String> nameIterator = sources.keySet().iterator();
             @Override
             public boolean hasNext() {
                 return nameIterator.hasNext();
diff --git a/src/main/java/org/codehaus/groovy/control/messages/LocatedMessage.java b/src/main/java/org/codehaus/groovy/control/messages/LocatedMessage.java
index 773777b..fb0a894 100644
--- a/src/main/java/org/codehaus/groovy/control/messages/LocatedMessage.java
+++ b/src/main/java/org/codehaus/groovy/control/messages/LocatedMessage.java
@@ -30,7 +30,7 @@ import java.io.PrintWriter;
 public class LocatedMessage extends SimpleMessage {
 
     /** The CSTNode that indicates the location to which the message applies. */
-    private CSTNode context;
+    private final CSTNode context;
 
     public LocatedMessage(String message, CSTNode context, SourceUnit source) {
         super(message, source);
diff --git a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
index 3fe83c7..cc9887b 100644
--- a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
+++ b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
@@ -49,7 +49,7 @@ public class CachedClass {
 
     public static final CachedClass[] EMPTY_ARRAY = new CachedClass[0];
 
-    private static ReferenceBundle softBundle = ReferenceBundle.getSoftBundle();
+    private static final ReferenceBundle softBundle = ReferenceBundle.getSoftBundle();
 
     private final LazyReference<CachedField[]> fields = new LazyReference<CachedField[]>(softBundle) {
         private static final long serialVersionUID = 5450437842165410025L;
@@ -63,7 +63,7 @@ public class CachedClass {
         }
     };
 
-    private LazyReference<CachedConstructor[]> constructors = new LazyReference<CachedConstructor[]>(softBundle) {
+    private final LazyReference<CachedConstructor[]> constructors = new LazyReference<CachedConstructor[]>(softBundle) {
         private static final long serialVersionUID = -5834446523983631635L;
 
         @Override
@@ -120,7 +120,7 @@ public class CachedClass {
         }
     };
 
-    private LazyReference<CachedClass> cachedSuperClass = new LazyReference<CachedClass>(softBundle) {
+    private final LazyReference<CachedClass> cachedSuperClass = new LazyReference<CachedClass>(softBundle) {
         private static final long serialVersionUID = -4663740963306806058L;
 
         @Override
diff --git a/src/main/java/org/codehaus/groovy/runtime/ComposedClosure.java b/src/main/java/org/codehaus/groovy/runtime/ComposedClosure.java
index 588d846..99d4d7b 100644
--- a/src/main/java/org/codehaus/groovy/runtime/ComposedClosure.java
+++ b/src/main/java/org/codehaus/groovy/runtime/ComposedClosure.java
@@ -58,8 +58,8 @@ import java.util.List;
 public final class ComposedClosure<V> extends Closure<V> {
 
     private static final long serialVersionUID = -4816724431590921285L;
-    private Closure first;
-    private Closure<V> second;
+    private final Closure first;
+    private final Closure<V> second;
 
     public ComposedClosure(Closure first, Closure<V> second) {
         super(first.clone());
diff --git a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
index 3fd10bd..4b39875 100644
--- a/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/DefaultGroovyMethods.java
@@ -11046,7 +11046,7 @@ public class DefaultGroovyMethods extends DefaultGroovyMethodsSupport {
         private final Iterator<E> delegate;
         private final LinkedList<E> discards;
         private boolean exhausted;
-        private int num;
+        private final int num;
 
         private DropRightIterator(Iterator<E> delegate, int num) {
             this.delegate = delegate;
diff --git a/src/main/java/org/codehaus/groovy/runtime/IOGroovyMethods.java b/src/main/java/org/codehaus/groovy/runtime/IOGroovyMethods.java
index ede9e4b..9eede3c 100644
--- a/src/main/java/org/codehaus/groovy/runtime/IOGroovyMethods.java
+++ b/src/main/java/org/codehaus/groovy/runtime/IOGroovyMethods.java
@@ -655,9 +655,9 @@ public class IOGroovyMethods extends DefaultGroovyMethodsSupport {
         return readLineFromReaderWithoutMark(self);
     }
 
-    private static int charBufferSize = 4096;     // half the default stream buffer size
-    private static int expectedLineLength = 160;  // double the default line length
-    private static int EOF = -1;                  // End Of File
+    private static final int charBufferSize = 4096;     // half the default stream buffer size
+    private static final int expectedLineLength = 160;  // double the default line length
+    private static final int EOF = -1;                  // End Of File
 
     /*
     * This method tries to read subsequent buffers from the reader using a mark
diff --git a/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java b/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java
index 23c4017..535510a 100644
--- a/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java
+++ b/src/main/java/org/codehaus/groovy/runtime/ProxyGeneratorAdapter.java
@@ -91,8 +91,8 @@ public class ProxyGeneratorAdapter extends ClassVisitor implements Opcodes {
     private static final String CLOSURES_MAP_FIELD = "$closures$delegate$map";
     private static final String DELEGATE_OBJECT_FIELD = "$delegate";
 
-    private static List<Method> OBJECT_METHODS = getInheritedMethods(Object.class, new ArrayList<Method>());
-    private static List<Method> GROOVYOBJECT_METHODS = getInheritedMethods(GroovyObject.class, new ArrayList<Method>());
+    private static final List<Method> OBJECT_METHODS = getInheritedMethods(Object.class, new ArrayList<Method>());
+    private static final List<Method> GROOVYOBJECT_METHODS = getInheritedMethods(GroovyObject.class, new ArrayList<Method>());
 
     private static final AtomicLong pxyCounter = new AtomicLong();
     private static final Set<String> GROOVYOBJECT_METHOD_NAMESS;
diff --git a/src/main/java/org/codehaus/groovy/runtime/ScriptReference.java b/src/main/java/org/codehaus/groovy/runtime/ScriptReference.java
index ed18079..7165558 100644
--- a/src/main/java/org/codehaus/groovy/runtime/ScriptReference.java
+++ b/src/main/java/org/codehaus/groovy/runtime/ScriptReference.java
@@ -27,8 +27,8 @@ import groovy.lang.Script;
 public class ScriptReference extends Reference {
 
     private static final long serialVersionUID = -2914281513576690336L;
-    private Script script;
-    private String variable;
+    private final Script script;
+    private final String variable;
 
     public ScriptReference(Script script, String variable) {
         this.script = script;
diff --git a/src/main/java/org/codehaus/groovy/runtime/metaclass/ClosureMetaClass.java b/src/main/java/org/codehaus/groovy/runtime/metaclass/ClosureMetaClass.java
index af0bf2b..df98caf 100644
--- a/src/main/java/org/codehaus/groovy/runtime/metaclass/ClosureMetaClass.java
+++ b/src/main/java/org/codehaus/groovy/runtime/metaclass/ClosureMetaClass.java
@@ -72,7 +72,7 @@ import java.util.Map;
 public final class ClosureMetaClass extends MetaClassImpl {
     private volatile boolean initialized;
     private final FastArray closureMethods = new FastArray(3);
-    private Map<String, CachedField> attributes = new HashMap<String, CachedField>();
+    private final Map<String, CachedField> attributes = new HashMap<String, CachedField>();
     private MethodChooser chooser;
     private volatile boolean attributeInitDone = false;
 
diff --git a/src/main/java/org/codehaus/groovy/runtime/metaclass/MissingMethodExecutionFailed.java b/src/main/java/org/codehaus/groovy/runtime/metaclass/MissingMethodExecutionFailed.java
index b2bd6bc..95703c0 100644
--- a/src/main/java/org/codehaus/groovy/runtime/metaclass/MissingMethodExecutionFailed.java
+++ b/src/main/java/org/codehaus/groovy/runtime/metaclass/MissingMethodExecutionFailed.java
@@ -25,7 +25,7 @@ package org.codehaus.groovy.runtime.metaclass;
  */
 public class MissingMethodExecutionFailed extends MissingMethodExceptionNoStack {
     private static final long serialVersionUID = -7894095278952483769L;
-    private Throwable cause;
+    private final Throwable cause;
     public MissingMethodExecutionFailed(String method, Class type, Object[] arguments, boolean isStatic, Throwable cause) {
         super(method, type, arguments, isStatic);
         this.cause = cause;
diff --git a/src/main/java/org/codehaus/groovy/runtime/powerassert/SourceText.java b/src/main/java/org/codehaus/groovy/runtime/powerassert/SourceText.java
index 04cd475..4c314a8 100644
--- a/src/main/java/org/codehaus/groovy/runtime/powerassert/SourceText.java
+++ b/src/main/java/org/codehaus/groovy/runtime/powerassert/SourceText.java
@@ -33,7 +33,7 @@ import java.util.List;
  */
 public class SourceText {
     private final int firstLine;
-    private String normalizedText;
+    private final String normalizedText;
 
     private final List<Integer> lineOffsets = new ArrayList<Integer>();
     private final List<Integer> textOffsets = new ArrayList<Integer>();
diff --git a/src/main/java/org/codehaus/groovy/tools/Utilities.java b/src/main/java/org/codehaus/groovy/tools/Utilities.java
index 41a7b00..57dca3e 100644
--- a/src/main/java/org/codehaus/groovy/tools/Utilities.java
+++ b/src/main/java/org/codehaus/groovy/tools/Utilities.java
@@ -72,6 +72,6 @@ public abstract class Utilities
         return true;
     }    
     
-    private static String eol = System.lineSeparator();
+    private static final String eol = System.lineSeparator();
 
 }
diff --git a/src/main/java/org/codehaus/groovy/transform/NewifyASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/NewifyASTTransformation.java
index 6e05e84..bf82714 100644
--- a/src/main/java/org/codehaus/groovy/transform/NewifyASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/NewifyASTTransformation.java
@@ -76,7 +76,7 @@ public class NewifyASTTransformation extends ClassCodeExpressionTransformer impl
     private boolean auto;
     private Pattern classNamePattern;
 
-    private static Map<String, ClassNode> nameToGlobalClassesNodesMap;
+    private static final Map<String, ClassNode> nameToGlobalClassesNodesMap;
     private Map<String, NewifyClassData> nameToInnerClassesNodesMap;
 
     // ClassHelper.classes minus interfaces, abstract classes, and classes with private ctors
diff --git a/src/main/java/org/codehaus/groovy/util/ReferenceManager.java b/src/main/java/org/codehaus/groovy/util/ReferenceManager.java
index 9bcc168..547d231 100644
--- a/src/main/java/org/codehaus/groovy/util/ReferenceManager.java
+++ b/src/main/java/org/codehaus/groovy/util/ReferenceManager.java
@@ -125,7 +125,7 @@ public class ReferenceManager {
         if (threshold<0) throw new IllegalArgumentException("threshold must not be below 0.");
        
         return new ReferenceManager(queue){
-            private AtomicInteger refCnt = new AtomicInteger();
+            private final AtomicInteger refCnt = new AtomicInteger();
             private volatile ReferenceManager manager = createIdlingManager(queue);
             @Override
             public void afterReferenceCreation(Reference r) {
@@ -160,7 +160,7 @@ public class ReferenceManager {
         };        
     }  
     
-    private ReferenceQueue queue;
+    private final ReferenceQueue queue;
     
     public ReferenceManager(ReferenceQueue queue) {
         this.queue = queue;