Repository: groovy
Updated Branches:
  refs/heads/master fae1909bd -> 1363536ea


Trivial refactoring: extract constants


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/1363536e
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/1363536e
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/1363536e

Branch: refs/heads/master
Commit: 1363536ea8efa1a4e6261c79a8d187c124cf29d5
Parents: fae1909
Author: Daniel Sun <[email protected]>
Authored: Sat Sep 15 21:54:25 2018 +0800
Committer: Daniel Sun <[email protected]>
Committed: Sat Sep 15 21:54:25 2018 +0800

----------------------------------------------------------------------
 src/main/groovy/groovy/grape/Grape.java         |  6 ++-
 src/main/groovy/groovy/util/CharsetToolkit.java |  3 +-
 .../groovy/control/CompilerConfiguration.java   |  3 +-
 .../customizers/builder/CustomizersFactory.java |  3 +-
 .../groovy/reflection/ParameterTypes.java       |  2 +-
 .../org/codehaus/groovy/tools/StringHelper.java |  7 ++--
 .../groovy/tools/javac/JavacJavaCompiler.java   |  3 +-
 .../org/codehaus/groovy/vmplugin/v5/Java5.java  |  6 ++-
 .../groovy/ant/FileSystemCompilerFacade.java    |  4 +-
 .../java/org/codehaus/groovy/ant/Groovyc.java   |  8 ++--
 .../tools/groovydoc/ExternalGroovyClassDoc.java | 41 ++++++++++++--------
 .../tools/groovydoc/SimpleGroovyClassDoc.java   | 19 +++++----
 .../groovy/tools/groovydoc/SimpleGroovyDoc.java |  3 +-
 .../SimpleGroovyExecutableMemberDoc.java        |  3 +-
 .../tools/groovydoc/SimpleGroovyPackageDoc.java | 15 +++----
 .../tools/groovydoc/SimpleGroovyParameter.java  |  3 +-
 .../SimpleGroovyProgramElementDoc.java          |  3 +-
 .../tools/groovydoc/SimpleGroovyRootDoc.java    |  6 ++-
 .../src/main/java/groovy/sql/Sql.java           |  3 +-
 .../groovy/inspect/swingui/TableSorter.java     |  3 +-
 .../groovy/binding/ClosureTriggerBinding.java   |  6 +--
 .../groovy/binding/PropertyBinding.java         |  3 +-
 .../test/groovy/groovy/StrangeBeanBeanInfo.java |  7 ++--
 23 files changed, 98 insertions(+), 62 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/groovy/groovy/grape/Grape.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/grape/Grape.java 
b/src/main/groovy/groovy/grape/Grape.java
index 31ae2d0..0bbe9ee 100644
--- a/src/main/groovy/groovy/grape/Grape.java
+++ b/src/main/groovy/groovy/grape/Grape.java
@@ -31,6 +31,8 @@ public class Grape {
     public static final String AUTO_DOWNLOAD_SETTING = "autoDownload";
     public static final String DISABLE_CHECKSUMS_SETTING = "disableChecksums";
     public static final String SYSTEM_PROPERTIES_SETTING = "systemProperties";
+    private static final URI[] EMPTY_URI_ARRAY = new URI[0];
+    private static final Map[] EMPTY_MAP_ARRAY = new Map[0];
 
     private static boolean enableGrapes = 
Boolean.valueOf(System.getProperty("groovy.grape.enable", "true"));
     private static boolean enableAutoDownload = 
Boolean.valueOf(System.getProperty("groovy.grape.autoDownload", "true"));
@@ -199,7 +201,7 @@ public class Grape {
             }
         }
         if (uris == null) {
-            return new URI[0];
+            return EMPTY_URI_ARRAY;
         } else {
             return uris;
         }
@@ -214,7 +216,7 @@ public class Grape {
             }
         }
         if (maps == null) {
-            return new Map[0];
+            return EMPTY_MAP_ARRAY;
         } else {
             return maps;
         }

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/groovy/groovy/util/CharsetToolkit.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/CharsetToolkit.java 
b/src/main/groovy/groovy/util/CharsetToolkit.java
index b5f5ee6..d547cc7 100644
--- a/src/main/groovy/groovy/util/CharsetToolkit.java
+++ b/src/main/groovy/groovy/util/CharsetToolkit.java
@@ -59,6 +59,7 @@ import java.util.Collection;
  * @author Guillaume Laforge
  */
 public class CharsetToolkit {
+    private static final Charset[] EMPTY_CHARSET_ARRAY = new Charset[0];
     private final byte[] buffer;
     private Charset defaultCharset;
     private Charset charset;
@@ -407,6 +408,6 @@ public class CharsetToolkit {
      */
     public static Charset[] getAvailableCharsets() {
         Collection collection = Charset.availableCharsets().values();
-        return (Charset[]) collection.toArray(new Charset[0]);
+        return (Charset[]) collection.toArray(EMPTY_CHARSET_ARRAY);
     }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java 
b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
index 4facb6b..2150c4c 100644
--- a/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
+++ b/src/main/java/org/codehaus/groovy/control/CompilerConfiguration.java
@@ -97,8 +97,9 @@ public class CompilerConfiguration {
             JDK12, Opcodes.V12
     );
 
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
     /** An array of the valid targetBytecode values **/
-    public static final String[] ALLOWED_JDKS = 
JDK_TO_BYTECODE_VERSION_MAP.keySet().toArray(new String[0]);
+    public static final String[] ALLOWED_JDKS = 
JDK_TO_BYTECODE_VERSION_MAP.keySet().toArray(EMPTY_STRING_ARRAY);
 
     private static final String GROOVY_ANTLR4_OPT = "groovy.antlr4";
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/java/org/codehaus/groovy/control/customizers/builder/CustomizersFactory.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/codehaus/groovy/control/customizers/builder/CustomizersFactory.java
 
b/src/main/java/org/codehaus/groovy/control/customizers/builder/CustomizersFactory.java
index ded70d8..37bcee8 100644
--- 
a/src/main/java/org/codehaus/groovy/control/customizers/builder/CustomizersFactory.java
+++ 
b/src/main/java/org/codehaus/groovy/control/customizers/builder/CustomizersFactory.java
@@ -34,6 +34,7 @@ import java.util.Map;
  * @since 2.1.0
  */
 public class CustomizersFactory extends AbstractFactory implements 
PostCompletionFactory {
+    private static final CompilationCustomizer[] 
EMPTY_COMPILATIONCUSTOMIZER_ARRAY = new CompilationCustomizer[0];
 
     public Object newInstance(final FactoryBuilderSupport builder, final 
Object name, final Object value, final Map attributes) throws 
InstantiationException, IllegalAccessException {
         return new LinkedList();
@@ -52,7 +53,7 @@ public class CustomizersFactory extends AbstractFactory 
implements PostCompletio
     public Object postCompleteNode(final FactoryBuilderSupport factory, final 
Object parent, final Object node) {
         if (node instanceof List) {
             List col = (List) node;
-            return col.toArray(new CompilationCustomizer[0]);
+            return col.toArray(EMPTY_COMPILATIONCUSTOMIZER_ARRAY);
         }
         return node;
     }

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/java/org/codehaus/groovy/reflection/ParameterTypes.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/reflection/ParameterTypes.java 
b/src/main/java/org/codehaus/groovy/reflection/ParameterTypes.java
index 4c5d5fa..ebeb771 100644
--- a/src/main/java/org/codehaus/groovy/reflection/ParameterTypes.java
+++ b/src/main/java/org/codehaus/groovy/reflection/ParameterTypes.java
@@ -26,7 +26,7 @@ import org.codehaus.groovy.runtime.wrappers.Wrapper;
 import java.lang.reflect.Array;
 
 public class ParameterTypes {
-    private final static Class[] NO_PARAMETERS = new Class[0];
+    private static final Class[] NO_PARAMETERS = new Class[0];
 
     protected volatile Class[] nativeParamTypes;
     protected volatile CachedClass[] parameterTypes;

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/java/org/codehaus/groovy/tools/StringHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/tools/StringHelper.java 
b/src/main/java/org/codehaus/groovy/tools/StringHelper.java
index 6f7865f..53b3b9e 100644
--- a/src/main/java/org/codehaus/groovy/tools/StringHelper.java
+++ b/src/main/java/org/codehaus/groovy/tools/StringHelper.java
@@ -22,9 +22,10 @@ import java.util.LinkedList;
 import java.util.List;
 
 public class StringHelper {
-    private static final char 
+    private static final char
         SPACE = ' ', SINGLE_QUOTE = '\'', DOUBLE_QUOTE = '"';
-    
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
     /**
      * This method tokenizes a string by space characters, 
      * but ignores spaces in quoted parts,that are parts in 
@@ -46,7 +47,7 @@ public class StringHelper {
             }
             first = last;
         }
-        return (String[])tokens.toArray(new String[0]);
+        return (String[])tokens.toArray(EMPTY_STRING_ARRAY);
     }
 
     private static int scanToken(String s, int pos0) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/java/org/codehaus/groovy/tools/javac/JavacJavaCompiler.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/codehaus/groovy/tools/javac/JavacJavaCompiler.java 
b/src/main/java/org/codehaus/groovy/tools/javac/JavacJavaCompiler.java
index e50da83..908858c 100644
--- a/src/main/java/org/codehaus/groovy/tools/javac/JavacJavaCompiler.java
+++ b/src/main/java/org/codehaus/groovy/tools/javac/JavacJavaCompiler.java
@@ -44,6 +44,7 @@ import java.util.Locale;
 import java.util.Map;
 
 public class JavacJavaCompiler implements JavaCompiler {
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
     private final CompilerConfiguration config;
 
     public JavacJavaCompiler(CompilerConfiguration config) {
@@ -172,7 +173,7 @@ public class JavacJavaCompiler implements JavaCompiler {
         // files to compile
         paras.addAll(files);
 
-        return paras.toArray(new String[0]);
+        return paras.toArray(EMPTY_STRING_ARRAY);
     }
 
     private Class findJavac(CompilationUnit cu) throws ClassNotFoundException {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java 
b/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
index ec462a1..61bd2c7 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v5/Java5.java
@@ -64,6 +64,8 @@ import java.util.List;
 public class Java5 implements VMPlugin {
     private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
     private static final Class[] PLUGIN_DGM = 
{PluginDefaultGroovyMethods.class};
+    private static final Method[] EMPTY_METHOD_ARRAY = new Method[0];
+    private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new 
Annotation[0];
 
     public void setAdditionalClassInformation(ClassNode cn) {
         setGenericsTypes(cn);
@@ -276,7 +278,7 @@ public class Java5 implements VMPlugin {
             try {
                 declaredMethods = type.getDeclaredMethods();
             } catch (SecurityException se) {
-                declaredMethods = new Method[0];
+                declaredMethods = EMPTY_METHOD_ARRAY;
             }
             for (Method declaredMethod : declaredMethods) {
                 try {
@@ -445,7 +447,7 @@ public class Java5 implements VMPlugin {
                 );
             }
             Annotation[][] adjusted = new Annotation[parameterCount][];
-            adjusted[0] = new Annotation[0];
+            adjusted[0] = EMPTY_ANNOTATION_ARRAY;
             System.arraycopy(annotations, 0, adjusted, 1, annotations.length);
             return adjusted;
         }

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java
 
b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java
index 3235c23..e17a683 100644
--- 
a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java
+++ 
b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/FileSystemCompilerFacade.java
@@ -31,13 +31,15 @@ import java.util.List;
  * @author <a href="mailto:[email protected]";>Jochen "blackdrag" Theodorou</a>
  */
 public class FileSystemCompilerFacade {
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
+
     public static void main(String[] args) {
         List<String> argList = new ArrayList<String>(Arrays.asList(args));
         boolean forceLookupUnnamedFiles = 
argList.contains("--forceLookupUnnamedFiles");
         if (forceLookupUnnamedFiles) {
             argList.remove("--forceLookupUnnamedFiles");
         }
-        String[] newArgs = forceLookupUnnamedFiles ? argList.toArray(new 
String[0]) : args;
+        String[] newArgs = forceLookupUnnamedFiles ? 
argList.toArray(EMPTY_STRING_ARRAY) : args;
         FileSystemCompiler.commandLineCompileWithErrorHandling(newArgs, 
forceLookupUnnamedFiles);
     }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java 
b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java
index 3613b5e..9ab3dd7 100644
--- a/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java
+++ b/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java
@@ -167,6 +167,8 @@ import java.util.StringTokenizer;
  */
 public class Groovyc extends MatchingTask {
     private static final URL[] EMPTY_URL_ARRAY = new URL[0];
+    private static final File[] EMPTY_FILE_ARRAY = new File[0];
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
     private final LoggingHelper log = new LoggingHelper(this);
 
     private Path src;
@@ -188,7 +190,7 @@ public class Groovyc extends MatchingTask {
 
     protected boolean failOnError = true;
     protected boolean listFiles = false;
-    protected File[] compileList = new File[0];
+    protected File[] compileList = EMPTY_FILE_ARRAY;
 
     private String updatedProperty;
     private String errorProperty;
@@ -860,7 +862,7 @@ public class Groovyc extends MatchingTask {
      * Clear the list of files to be compiled and copied.
      */
     protected void resetFileLists() {
-        compileList = new File[0];
+        compileList = EMPTY_FILE_ARRAY;
         scriptExtensions = new LinkedHashSet<String>();
     }
 
@@ -1149,7 +1151,7 @@ public class Groovyc extends MatchingTask {
 
     private String[] makeCommandLine(List<String> commandLineList) {
         log.verbose("Compilation arguments:\n" + 
DefaultGroovyMethods.join((Iterable)commandLineList, "\n"));
-        return commandLineList.toArray(new String[0]);
+        return commandLineList.toArray(EMPTY_STRING_ARRAY);
     }
 
     private void runForked(String[] commandLine) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java
index c9fecb7..e4ac773 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/ExternalGroovyClassDoc.java
@@ -33,6 +33,13 @@ import java.util.List;
  * Represents a class not in the codebase being processed.
  */
 public class ExternalGroovyClassDoc implements GroovyClassDoc {
+    private static final GroovyAnnotationRef[] EMPTY_GROOVYANNOTATIONREF_ARRAY 
= new GroovyAnnotationRef[0];
+    private static final GroovyConstructorDoc[] 
EMPTY_GROOVYCONSTRUCTORDOC_ARRAY = new GroovyConstructorDoc[0];
+    private static final GroovyFieldDoc[] EMPTY_GROOVYFIELDDOC_ARRAY = new 
GroovyFieldDoc[0];
+    private static final GroovyClassDoc[] EMPTY_GROOVYCLASSDOC_ARRAY = new 
GroovyClassDoc[0];
+    private static final GroovyPackageDoc[] EMPTY_GROOVYPACKAGEDOC_ARRAY = new 
GroovyPackageDoc[0];
+    private static final GroovyMethodDoc[] EMPTY_GROOVYMETHODDOC_ARRAY = new 
GroovyMethodDoc[0];
+    private static final GroovyType[] EMPTY_GROOVYTYPE_ARRAY = new 
GroovyType[0];
     private final Class externalClass;
     private final List<GroovyAnnotationRef> annotationRefs;
 
@@ -46,7 +53,7 @@ public class ExternalGroovyClassDoc implements GroovyClassDoc 
{
     }
 
     public GroovyAnnotationRef[] annotations() {
-        return annotationRefs.toArray(new GroovyAnnotationRef[0]);
+        return annotationRefs.toArray(EMPTY_GROOVYANNOTATIONREF_ARRAY);
     }
 
     public String qualifiedTypeName() {
@@ -95,11 +102,11 @@ public class ExternalGroovyClassDoc implements 
GroovyClassDoc {
     }
 
     public GroovyConstructorDoc[] constructors() {
-        return new GroovyConstructorDoc[0];
+        return EMPTY_GROOVYCONSTRUCTORDOC_ARRAY;
     }
 
     public GroovyConstructorDoc[] constructors(boolean filter) {
-        return new GroovyConstructorDoc[0];
+        return EMPTY_GROOVYCONSTRUCTORDOC_ARRAY;
     }
 
     public boolean definesSerializableFields() {
@@ -107,19 +114,19 @@ public class ExternalGroovyClassDoc implements 
GroovyClassDoc {
     }
 
     public GroovyFieldDoc[] enumConstants() {
-        return new GroovyFieldDoc[0];
+        return EMPTY_GROOVYFIELDDOC_ARRAY;
     }
 
     public GroovyFieldDoc[] fields() {
-        return new GroovyFieldDoc[0];
+        return EMPTY_GROOVYFIELDDOC_ARRAY;
     }
 
     public GroovyFieldDoc[] properties() {
-        return new GroovyFieldDoc[0];
+        return EMPTY_GROOVYFIELDDOC_ARRAY;
     }
 
     public GroovyFieldDoc[] fields(boolean filter) {
-        return new GroovyFieldDoc[0];
+        return EMPTY_GROOVYFIELDDOC_ARRAY;
     }
 
     public GroovyClassDoc findClass(String className) {
@@ -127,27 +134,27 @@ public class ExternalGroovyClassDoc implements 
GroovyClassDoc {
     }
 
     public GroovyClassDoc[] importedClasses() {
-        return new GroovyClassDoc[0];
+        return EMPTY_GROOVYCLASSDOC_ARRAY;
     }
 
     public GroovyPackageDoc[] importedPackages() {
-        return new GroovyPackageDoc[0];
+        return EMPTY_GROOVYPACKAGEDOC_ARRAY;
     }
 
     public GroovyClassDoc[] innerClasses() {
-        return new GroovyClassDoc[0];
+        return EMPTY_GROOVYCLASSDOC_ARRAY;
     }
 
     public GroovyClassDoc[] innerClasses(boolean filter) {
-        return new GroovyClassDoc[0];
+        return EMPTY_GROOVYCLASSDOC_ARRAY;
     }
 
     public GroovyClassDoc[] interfaces() {
-        return new GroovyClassDoc[0];
+        return EMPTY_GROOVYCLASSDOC_ARRAY;
     }
 
     public GroovyType[] interfaceTypes() {
-        return new GroovyType[0];
+        return EMPTY_GROOVYTYPE_ARRAY;
     }
 
     public boolean isAbstract() {
@@ -163,19 +170,19 @@ public class ExternalGroovyClassDoc implements 
GroovyClassDoc {
     }
 
     public GroovyMethodDoc[] methods() {
-        return new GroovyMethodDoc[0];
+        return EMPTY_GROOVYMETHODDOC_ARRAY;
     }
 
     public GroovyMethodDoc[] methods(boolean filter) {
-        return new GroovyMethodDoc[0];
+        return EMPTY_GROOVYMETHODDOC_ARRAY;
     }
 
     public GroovyFieldDoc[] serializableFields() {
-        return new GroovyFieldDoc[0];
+        return EMPTY_GROOVYFIELDDOC_ARRAY;
     }
 
     public GroovyMethodDoc[] serializationMethods() {
-        return new GroovyMethodDoc[0];
+        return EMPTY_GROOVYMETHODDOC_ARRAY;
     }
 
     public boolean subclassOf(GroovyClassDoc gcd) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java
index b308b9b..72377dd 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyClassDoc.java
@@ -59,6 +59,11 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
     public static final Pattern SPLIT_ARGS_REGEX = Pattern.compile(",\\s*");
     private static final List<String> PRIMITIVES = Arrays.asList("void", 
"boolean", "byte", "short", "char", "int", "long", "float", "double");
     private static final Map<String, String> TAG_TEXT = new 
LinkedHashMap<String, String>();
+    private static final GroovyConstructorDoc[] 
EMPTY_GROOVYCONSTRUCTORDOC_ARRAY = new GroovyConstructorDoc[0];
+    private static final GroovyClassDoc[] EMPTY_GROOVYCLASSDOC_ARRAY = new 
GroovyClassDoc[0];
+    private static final GroovyFieldDoc[] EMPTY_GROOVYFIELDDOC_ARRAY = new 
GroovyFieldDoc[0];
+    private static final GroovyMethodDoc[] EMPTY_GROOVYMETHODDOC_ARRAY = new 
GroovyMethodDoc[0];
+
     static {
         TAG_TEXT.put("see", "See Also");
         TAG_TEXT.put("param", "Parameters");
@@ -119,7 +124,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
      */
     public GroovyConstructorDoc[] constructors() {
         Collections.sort(constructors);
-        return constructors.toArray(new GroovyConstructorDoc[0]);
+        return constructors.toArray(EMPTY_GROOVYCONSTRUCTORDOC_ARRAY);
     }
 
     public boolean add(GroovyConstructorDoc constructor) {
@@ -148,7 +153,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
      */
     public GroovyClassDoc[] innerClasses() {
         Collections.sort(nested);
-        return nested.toArray(new GroovyClassDoc[0]);
+        return nested.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public boolean addNested(GroovyClassDoc nestedClass) {
@@ -160,7 +165,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
      */
     public GroovyFieldDoc[] fields() {
         Collections.sort(fields);
-        return fields.toArray(new GroovyFieldDoc[0]);
+        return fields.toArray(EMPTY_GROOVYFIELDDOC_ARRAY);
     }
 
     public boolean add(GroovyFieldDoc field) {
@@ -172,7 +177,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
      */
     public GroovyFieldDoc[] properties() {
         Collections.sort(properties);
-        return properties.toArray(new GroovyFieldDoc[0]);
+        return properties.toArray(EMPTY_GROOVYFIELDDOC_ARRAY);
     }
 
     public boolean addProperty(GroovyFieldDoc property) {
@@ -184,7 +189,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
      */
     public GroovyFieldDoc[] enumConstants() {
         Collections.sort(enumConstants);
-        return enumConstants.toArray(new GroovyFieldDoc[0]);
+        return enumConstants.toArray(EMPTY_GROOVYFIELDDOC_ARRAY);
     }
 
     public boolean addEnumConstant(GroovyFieldDoc field) {
@@ -196,7 +201,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
      */
     public GroovyMethodDoc[] methods() {
         Collections.sort(methods);
-        return methods.toArray(new GroovyMethodDoc[0]);
+        return methods.toArray(EMPTY_GROOVYMETHODDOC_ARRAY);
     }
 
     public boolean add(GroovyMethodDoc method) {
@@ -751,7 +756,7 @@ public class SimpleGroovyClassDoc extends 
SimpleGroovyAbstractableElementDoc imp
 
     public GroovyClassDoc[] interfaces() {
         Collections.sort(interfaceClasses);
-        return interfaceClasses.toArray(new GroovyClassDoc[0]);
+        return interfaceClasses.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public GroovyType[] interfaceTypes() {/*todo*/

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
index cb39402..5917ee7 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyDoc.java
@@ -34,6 +34,7 @@ public class SimpleGroovyDoc implements GroovyDoc, 
GroovyTokenTypes {
     private static final Pattern TAG3_PATTERN = 
Pattern.compile("(?s)([a-z]+)\\s+(\\S*)\\s+(.*)");
     private static final Pattern RAW_COMMENT_PATTERN = 
Pattern.compile("\"(?s).*?\\\\*\\\\s*@\"");
     private static final Pattern TRIMMED_COMMENT_PATTERN = 
Pattern.compile("(?m)^\\s*\\*\\s*([^*]*)$");
+    private static final GroovyTag[] EMPTY_GROOVYTAG_ARRAY = new GroovyTag[0];
     private final String name;
     private String commentText = null;
     private String rawCommentText = "";
@@ -110,7 +111,7 @@ public class SimpleGroovyDoc implements GroovyDoc, 
GroovyTokenTypes {
                 setDeprecated(true);
             }
         }
-        tags = result.toArray(new GroovyTag[0]);
+        tags = result.toArray(EMPTY_GROOVYTAG_ARRAY);
     }
 
     public static String calculateFirstSentence(String raw) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java
index 5316ce4..18f4770 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyExecutableMemberDoc.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class SimpleGroovyExecutableMemberDoc extends SimpleGroovyMemberDoc 
implements GroovyExecutableMemberDoc {
+    private static final GroovyParameter[] EMPTY_GROOVYPARAMETER_ARRAY = new 
GroovyParameter[0];
     List parameters;
     
     public SimpleGroovyExecutableMemberDoc(String name, GroovyClassDoc 
belongsToClass) {
@@ -35,7 +36,7 @@ public class SimpleGroovyExecutableMemberDoc extends 
SimpleGroovyMemberDoc imple
     }
 
     public GroovyParameter[] parameters() {
-        return (GroovyParameter[]) parameters.toArray(new GroovyParameter[0]);
+        return (GroovyParameter[]) 
parameters.toArray(EMPTY_GROOVYPARAMETER_ARRAY);
     }
 
     public void add(GroovyParameter parameter) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java
index 36090fb..dc4ec1d 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyPackageDoc.java
@@ -29,6 +29,7 @@ import java.util.TreeMap;
 
 public class SimpleGroovyPackageDoc extends SimpleGroovyDoc implements 
GroovyPackageDoc {
     private static final char FS = '/';
+    private static final GroovyClassDoc[] EMPTY_GROOVYCLASSDOC_ARRAY = new 
GroovyClassDoc[0];
     final Map<String, GroovyClassDoc> classDocs;
     private String description = "";
     private String summary = "";
@@ -39,7 +40,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
     }
 
     public GroovyClassDoc[] allClasses() {
-        return classDocs.values().toArray(new GroovyClassDoc[0]);
+        return classDocs.values().toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public void setDescription(String description) {
@@ -68,7 +69,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
 
     public GroovyClassDoc[] allClasses(boolean arg0) {
         List<GroovyClassDoc> classDocValues = new 
ArrayList<GroovyClassDoc>(classDocs.values());
-        return classDocValues.toArray(new GroovyClassDoc[0]);
+        return classDocValues.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public GroovyClassDoc[] enums() {
@@ -78,7 +79,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
                 result.add(doc);
             }
         }
-        return result.toArray(new GroovyClassDoc[0]);
+        return result.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public GroovyClassDoc[] errors() {
@@ -88,7 +89,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
                 result.add(doc);
             }
         }
-        return result.toArray(new GroovyClassDoc[0]);
+        return result.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public GroovyClassDoc[] exceptions() {
@@ -98,7 +99,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
                 result.add(doc);
             }
         }
-        return result.toArray(new GroovyClassDoc[0]);
+        return result.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public GroovyClassDoc findClass(String arg0) {/*todo*/
@@ -112,7 +113,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
                 result.add(doc);
             }
         }
-        return result.toArray(new GroovyClassDoc[0]);
+        return result.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public GroovyClassDoc[] ordinaryClasses() {
@@ -122,7 +123,7 @@ public class SimpleGroovyPackageDoc extends SimpleGroovyDoc 
implements GroovyPac
                 result.add(doc);
             }
         }
-        return result.toArray(new GroovyClassDoc[0]);
+        return result.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public String description() {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java
index 27cf037..c8d09b2 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyParameter.java
@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class SimpleGroovyParameter implements GroovyParameter {
+    private static final GroovyAnnotationRef[] EMPTY_GROOVYANNOTATIONREF_ARRAY 
= new GroovyAnnotationRef[0];
     private final String name;
     private String typeName;
     private String defaultValue;
@@ -62,7 +63,7 @@ public class SimpleGroovyParameter implements GroovyParameter 
{
     }
 
     public GroovyAnnotationRef[] annotations() {
-        return annotationRefs.toArray(new GroovyAnnotationRef[0]);
+        return annotationRefs.toArray(EMPTY_GROOVYANNOTATIONREF_ARRAY);
     }
 
     public void addAnnotationRef(GroovyAnnotationRef ref) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java
index 8a2339d..dd27d8b 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyProgramElementDoc.java
@@ -27,6 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class SimpleGroovyProgramElementDoc extends SimpleGroovyDoc implements 
GroovyProgramElementDoc {
+    private static final GroovyAnnotationRef[] EMPTY_GROOVYANNOTATIONREF_ARRAY 
= new GroovyAnnotationRef[0];
     private GroovyPackageDoc packageDoc;
     private boolean staticElement;
     private boolean finalElement;
@@ -98,7 +99,7 @@ public class SimpleGroovyProgramElementDoc extends 
SimpleGroovyDoc implements Gr
     }
 
     public GroovyAnnotationRef[] annotations() {
-        return annotationRefs.toArray(new GroovyAnnotationRef[0]);
+        return annotationRefs.toArray(EMPTY_GROOVYANNOTATIONREF_ARRAY);
     }
 
     public void addAnnotationRef(GroovyAnnotationRef ref) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java
 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java
index d88fca3..b1f840e 100644
--- 
a/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java
+++ 
b/subprojects/groovy-groovydoc/src/main/java/org/codehaus/groovy/tools/groovydoc/SimpleGroovyRootDoc.java
@@ -32,6 +32,8 @@ import java.util.regex.Pattern;
 
 public class SimpleGroovyRootDoc extends SimpleGroovyDoc implements 
GroovyRootDoc {
     private final static Pattern EQUIVALENT_PACKAGE_IMPORT = 
Pattern.compile("[^/]+$");
+    private static final GroovyClassDoc[] EMPTY_GROOVYCLASSDOC_ARRAY = new 
GroovyClassDoc[0];
+    private static final GroovyPackageDoc[] EMPTY_GROOVYPACKAGEDOC_ARRAY = new 
GroovyPackageDoc[0];
 
     private final Map<String, GroovyPackageDoc> packageDocs;
     private List<GroovyPackageDoc> packageDocValues = null;
@@ -80,7 +82,7 @@ public class SimpleGroovyRootDoc extends SimpleGroovyDoc 
implements GroovyRootDo
             classDocValues = new ArrayList<GroovyClassDoc>(classDocs.values());
             Collections.sort(classDocValues);
         }
-        return classDocValues.toArray(new GroovyClassDoc[0]);
+        return classDocValues.toArray(EMPTY_GROOVYCLASSDOC_ARRAY);
     }
 
     public String[][] options() {/*todo*/
@@ -110,7 +112,7 @@ public class SimpleGroovyRootDoc extends SimpleGroovyDoc 
implements GroovyRootDo
             packageDocValues = new 
ArrayList<GroovyPackageDoc>(packageDocs.values());
             Collections.sort(packageDocValues);
         }
-        return packageDocValues.toArray(new GroovyPackageDoc[0]);
+        return packageDocValues.toArray(EMPTY_GROOVYPACKAGEDOC_ARRAY);
     }
 
     public Map<String, GroovyClassDoc> getVisibleClasses(List 
importedClassesAndPackages) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-sql/src/main/java/groovy/sql/Sql.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-sql/src/main/java/groovy/sql/Sql.java 
b/subprojects/groovy-sql/src/main/java/groovy/sql/Sql.java
index 6c6db97..56c5b5b 100644
--- a/subprojects/groovy-sql/src/main/java/groovy/sql/Sql.java
+++ b/subprojects/groovy-sql/src/main/java/groovy/sql/Sql.java
@@ -249,6 +249,7 @@ public class Sql {
 
     private static final List<Object> EMPTY_LIST = Collections.emptyList();
     private static final int USE_COLUMN_NAMES = -1;
+    private static final String[] EMPTY_STRING_ARRAY = new String[0];
 
     private DataSource dataSource;
 
@@ -4583,7 +4584,7 @@ public class Sql {
         @Override
         protected PreparedStatement execute(Connection connection, String sql) 
throws SQLException {
             if (returnGeneratedKeys == USE_COLUMN_NAMES && keyColumnNames != 
null) {
-                return connection.prepareStatement(sql, 
keyColumnNames.toArray(new String[0]));
+                return connection.prepareStatement(sql, 
keyColumnNames.toArray(EMPTY_STRING_ARRAY));
             }
             if (returnGeneratedKeys != 0) {
                 return connection.prepareStatement(sql, returnGeneratedKeys);

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
 
b/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
index 468db34..5e1a9ee 100644
--- 
a/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
+++ 
b/subprojects/groovy-swing/src/main/java/groovy/inspect/swingui/TableSorter.java
@@ -46,13 +46,14 @@ import java.util.Vector;
  * @author Minimal adjustments by Dierk Koenig, June 2005
  */
 public class TableSorter extends TableMap {
+    private static final int[] EMPTY_INT_ARRAY = new int[0];
     int indexes[];
     Vector sortingColumns = new Vector();
     boolean ascending = true;
     int lastSortedColumn = -1;
 
     public TableSorter() {
-        indexes = new int[0]; // For consistency.
+        indexes = EMPTY_INT_ARRAY; // For consistency.
     }
 
     public TableSorter(TableModel model) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureTriggerBinding.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureTriggerBinding.java
 
b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureTriggerBinding.java
index 6c41a9e..f31dbfb 100644
--- 
a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureTriggerBinding.java
+++ 
b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/ClosureTriggerBinding.java
@@ -31,7 +31,7 @@ import java.util.List;
 import java.util.Map;
 
 public class ClosureTriggerBinding implements TriggerBinding, SourceBinding {
-
+    private static final BindPath[] EMPTY_BINDPATH_ARRAY = new BindPath[0];
     Map<String, TriggerBinding> syntheticBindings;
     Closure closure;
 
@@ -55,7 +55,7 @@ public class ClosureTriggerBinding implements TriggerBinding, 
SourceBinding {
         for (Map.Entry<String, BindPathSnooper> entry : 
snooper.fields.entrySet()) {
             childPaths.add(createBindPath(entry.getKey(), entry.getValue()));
         }
-        bp.children = childPaths.toArray(new BindPath[0]);
+        bp.children = childPaths.toArray(EMPTY_BINDPATH_ARRAY);
         return bp;
     }
 
@@ -123,7 +123,7 @@ public class ClosureTriggerBinding implements 
TriggerBinding, SourceBinding {
         PropertyPathFullBinding fb = new PropertyPathFullBinding();
         fb.setSourceBinding(new ClosureSourceBinding(closure));
         fb.setTargetBinding(target);
-        fb.bindPaths = rootPaths.toArray(new BindPath[0]);
+        fb.bindPaths = rootPaths.toArray(EMPTY_BINDPATH_ARRAY);
         return fb;
     }
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
 
b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
index 2df1f48..09fdbcf 100644
--- 
a/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
+++ 
b/subprojects/groovy-swing/src/main/java/org/codehaus/groovy/binding/PropertyBinding.java
@@ -54,6 +54,7 @@ public class PropertyBinding implements SourceBinding, 
TargetBinding, TriggerBin
     private static final ExecutorService DEFAULT_EXECUTOR_SERVICE = 
Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
     private static final Logger LOG = 
Logger.getLogger(PropertyBinding.class.getName());
     private static final Map<Class, Class<? extends PropertyAccessor>> 
ACCESSORS = new LinkedHashMap<Class, Class<? extends PropertyAccessor>>();
+    private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
 
     static {
         Enumeration<URL> urls = fetchUrlsFor("META-INF/services/" + 
groovy.beans.PropertyAccessor.class.getName());
@@ -106,7 +107,7 @@ public class PropertyBinding implements SourceBinding, 
TargetBinding, TriggerBin
     String propertyName;
     boolean nonChangeCheck;
     UpdateStrategy updateStrategy;
-    private final Object[] lock = new Object[0];
+    private final Object[] lock = EMPTY_OBJECT_ARRAY;
     private PropertyAccessor propertyAccessor;
 
     public PropertyBinding(Object bean, String propertyName) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/1363536e/subprojects/groovy-swing/src/test/groovy/groovy/StrangeBeanBeanInfo.java
----------------------------------------------------------------------
diff --git 
a/subprojects/groovy-swing/src/test/groovy/groovy/StrangeBeanBeanInfo.java 
b/subprojects/groovy-swing/src/test/groovy/groovy/StrangeBeanBeanInfo.java
index 067c10d..24443c8 100644
--- a/subprojects/groovy-swing/src/test/groovy/groovy/StrangeBeanBeanInfo.java
+++ b/subprojects/groovy-swing/src/test/groovy/groovy/StrangeBeanBeanInfo.java
@@ -23,13 +23,14 @@ import java.beans.SimpleBeanInfo;
 import java.lang.reflect.Method;
 
 public class StrangeBeanBeanInfo extends SimpleBeanInfo {
+    private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
 
     public EventSetDescriptor[] getEventSetDescriptors() {
         try {
             Method[] events = StrangeEventListener.class.getMethods();
-            Method addListener = 
StrangeBean.class.getMethod("addStrangeEventListener", new Class[] 
{StrangeEventListener.class});
-            Method removeListener = 
StrangeBean.class.getMethod("removeStrangeEventListener", new Class[] 
{StrangeEventListener.class});
-            Method getListeners = 
StrangeBean.class.getMethod("getStrangeEventListeners", new Class[0]);
+            Method addListener = 
StrangeBean.class.getMethod("addStrangeEventListener", 
StrangeEventListener.class);
+            Method removeListener = 
StrangeBean.class.getMethod("removeStrangeEventListener", 
StrangeEventListener.class);
+            Method getListeners = 
StrangeBean.class.getMethod("getStrangeEventListeners", EMPTY_CLASS_ARRAY);
             
             return new EventSetDescriptor[] {
                 new EventSetDescriptor( 

Reply via email to