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 2018/04/02 23:58:54 UTC

[1/3] groovy git commit: Trivial refactoring: avoid calling `toArray` with pre-sized array parameter

Repository: groovy
Updated Branches:
  refs/heads/master 0e737d7b9 -> d524b2ff9


Trivial refactoring: avoid calling `toArray` with pre-sized array parameter


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

Branch: refs/heads/master
Commit: d524b2ff964b07fbb443d38fc3df678dd6b5cb80
Parents: c0b5ea2
Author: sunlan <su...@apache.org>
Authored: Tue Apr 3 07:57:23 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Tue Apr 3 07:58:46 2018 +0800

----------------------------------------------------------------------
 src/main/groovy/groovy/lang/MetaMethod.java                  | 1 +
 .../java/org/codehaus/groovy/reflection/CachedClass.java     | 8 ++++----
 2 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/d524b2ff/src/main/groovy/groovy/lang/MetaMethod.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/MetaMethod.java b/src/main/groovy/groovy/lang/MetaMethod.java
index c58d6b7..10815ed 100644
--- a/src/main/groovy/groovy/lang/MetaMethod.java
+++ b/src/main/groovy/groovy/lang/MetaMethod.java
@@ -34,6 +34,7 @@ import java.lang.reflect.Modifier;
  * @author Alex Tkachman
  */
 public abstract class MetaMethod extends ParameterTypes implements Cloneable {
+    public static final MetaMethod[] EMPTY_ARRAY = new MetaMethod[0];
     private String signature;
     private String mopName;
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/d524b2ff/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
index 80bc040..9204be2 100644
--- a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
+++ b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
@@ -217,7 +217,7 @@ public class CachedClass {
         }
     };
 
-    static final MetaMethod[] EMPTY = new MetaMethod[0];
+    static final MetaMethod[] EMPTY = MetaMethod.EMPTY_ARRAY;
 
     int hashCode;
 
@@ -401,7 +401,7 @@ public class CachedClass {
             addSubclassExpandos(arr, mc);
         }
 
-        return arr.toArray(new MetaMethod[arr.size()]);
+        return arr.toArray(MetaMethod.EMPTY_ARRAY);
     }
 
     private void addSubclassExpandos(List<MetaMethod> arr, MetaClass mc) {
@@ -453,7 +453,7 @@ public class CachedClass {
 
     private void updateSetNewMopMethods(List<MetaMethod> arr) {
         if (arr != null) {
-            final MetaMethod[] metaMethods = arr.toArray(new MetaMethod[arr.size()]);
+            final MetaMethod[] metaMethods = arr.toArray(MetaMethod.EMPTY_ARRAY);
             classInfo.dgmMetaMethods = metaMethods;
             classInfo.newMetaMethods = metaMethods;
         }
@@ -501,7 +501,7 @@ public class CachedClass {
         List<MetaMethod> res = new ArrayList<MetaMethod>();
         res.addAll(Arrays.asList(classInfo.newMetaMethods));
         res.addAll(arr);
-        classInfo.newMetaMethods = res.toArray(new MetaMethod[res.size()]);
+        classInfo.newMetaMethods = res.toArray(MetaMethod.EMPTY_ARRAY);
         Class theClass = classInfo.getCachedClass().getTheClass();
         if (theClass==Closure.class || theClass==Class.class) {
             ClosureMetaClass.resetCachedMetaClasses();


[3/3] groovy git commit: Unnecessary 'null' check before 'instanceof' expression or call

Posted by su...@apache.org.
Unnecessary 'null' check before 'instanceof' expression or call


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

Branch: refs/heads/master
Commit: 75e1e878bf0b07662019f3989f0ebcc82ba9805e
Parents: 0e737d7
Author: sunlan <su...@apache.org>
Authored: Tue Apr 3 07:46:55 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Tue Apr 3 07:58:46 2018 +0800

----------------------------------------------------------------------
 .../grape/GrabAnnotationTransformation.java     | 10 +++++-----
 .../groovy/groovy/lang/GroovyCodeSource.java    |  2 +-
 src/main/groovy/groovy/lang/MetaClassImpl.java  |  6 +++---
 src/main/groovy/groovy/lang/Script.java         |  2 +-
 src/main/groovy/groovy/lang/Tuple.java          |  2 +-
 src/main/groovy/groovy/util/Expando.java        |  6 +++---
 src/main/groovy/groovy/util/Node.java           |  2 +-
 src/main/groovy/groovy/util/ObservableList.java |  6 +++---
 src/main/groovy/groovy/util/ObservableMap.java  |  4 ++--
 src/main/groovy/groovy/util/ObservableSet.java  |  4 ++--
 .../groovy/antlr/AntlrParserPlugin.java         |  2 +-
 .../codehaus/groovy/ast/ConstructorNode.java    |  2 +-
 .../classgen/ClassCompletionVerifier.java       |  2 +-
 .../org/codehaus/groovy/classgen/Verifier.java  |  2 +-
 .../classgen/asm/sc/StaticInvocationWriter.java |  6 +++---
 .../asm/sc/StaticTypesCallSiteWriter.java       |  2 +-
 .../codehaus/groovy/control/ErrorCollector.java |  2 +-
 .../groovy/control/StaticImportVisitor.java     |  2 +-
 .../codehaus/groovy/control/StaticVerifier.java |  2 +-
 .../codehaus/groovy/reflection/CachedClass.java |  2 +-
 .../codehaus/groovy/runtime/InvokerHelper.java  |  2 +-
 .../ASTTransformationCollectorCodeVisitor.java  |  2 +-
 .../transform/AbstractASTTransformation.java    | 20 ++++++++++----------
 .../transform/AutoCloneASTTransformation.java   |  2 +-
 .../transform/BuilderASTTransformation.java     |  2 +-
 .../transform/CategoryASTTransformation.java    |  2 +-
 .../transformers/ListExpressionTransformer.java |  2 +-
 .../stc/StaticTypeCheckingSupport.java          |  2 +-
 .../stc/StaticTypeCheckingVisitor.java          | 10 +++++-----
 .../stc/TraitTypeCheckingExtension.java         |  2 +-
 30 files changed, 57 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/grape/GrabAnnotationTransformation.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/grape/GrabAnnotationTransformation.java b/src/main/groovy/groovy/grape/GrabAnnotationTransformation.java
index 82f13e7..eac9e2c 100644
--- a/src/main/groovy/groovy/grape/GrabAnnotationTransformation.java
+++ b/src/main/groovy/groovy/grape/GrabAnnotationTransformation.java
@@ -469,7 +469,7 @@ public class GrabAnnotationTransformation extends ClassCodeVisitorSupport implem
 
     private void checkForClassLoader(AnnotationNode node) {
         Object val = node.getMember("systemClassLoader");
-        if (val == null || !(val instanceof ConstantExpression)) return;
+        if (!(val instanceof ConstantExpression)) return;
         Object systemClassLoaderObject = ((ConstantExpression)val).getValue();
         if (!(systemClassLoaderObject instanceof Boolean)) return;
         Boolean systemClassLoader = (Boolean) systemClassLoaderObject;
@@ -478,7 +478,7 @@ public class GrabAnnotationTransformation extends ClassCodeVisitorSupport implem
 
     private void checkForInitContextClassLoader(AnnotationNode node) {
         Object val = node.getMember("initContextClassLoader");
-        if (val == null || !(val instanceof ConstantExpression)) return;
+        if (!(val instanceof ConstantExpression)) return;
         Object initContextClassLoaderObject = ((ConstantExpression)val).getValue();
         if (!(initContextClassLoaderObject instanceof Boolean)) return;
         initContextClassLoader = (Boolean) initContextClassLoaderObject;
@@ -486,7 +486,7 @@ public class GrabAnnotationTransformation extends ClassCodeVisitorSupport implem
 
     private void checkForAutoDownload(AnnotationNode node) {
         Object val = node.getMember(AUTO_DOWNLOAD_SETTING);
-        if (val == null || !(val instanceof ConstantExpression)) return;
+        if (!(val instanceof ConstantExpression)) return;
         Object autoDownloadValue = ((ConstantExpression)val).getValue();
         if (!(autoDownloadValue instanceof Boolean)) return;
         autoDownload = (Boolean) autoDownloadValue;
@@ -494,7 +494,7 @@ public class GrabAnnotationTransformation extends ClassCodeVisitorSupport implem
 
     private void checkForDisableChecksums(AnnotationNode node) {
         Object val = node.getMember(DISABLE_CHECKSUMS_SETTING);
-        if (val == null || !(val instanceof ConstantExpression)) return;
+        if (!(val instanceof ConstantExpression)) return;
         Object disableChecksumsValue = ((ConstantExpression)val).getValue();
         if (!(disableChecksumsValue instanceof Boolean)) return;
         disableChecksums = (Boolean) disableChecksumsValue;
@@ -515,7 +515,7 @@ public class GrabAnnotationTransformation extends ClassCodeVisitorSupport implem
 
     private static void checkForConvenienceForm(AnnotationNode node, boolean exclude) {
         Object val = node.getMember("value");
-        if (val == null || !(val instanceof ConstantExpression)) return;
+        if (!(val instanceof ConstantExpression)) return;
         Object allParts = ((ConstantExpression)val).getValue();
         if (!(allParts instanceof String)) return;
         String allstr = (String) allParts;

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/lang/GroovyCodeSource.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/GroovyCodeSource.java b/src/main/groovy/groovy/lang/GroovyCodeSource.java
index 18e84f1..12b8143 100644
--- a/src/main/groovy/groovy/lang/GroovyCodeSource.java
+++ b/src/main/groovy/groovy/lang/GroovyCodeSource.java
@@ -149,7 +149,7 @@ public class GroovyCodeSource {
             this.codeSource = (CodeSource) info[1];
         } catch (PrivilegedActionException pae) {
             Throwable cause = pae.getCause();
-            if (cause != null && cause instanceof IOException) {
+            if (cause instanceof IOException) {
                 throw (IOException) cause;
             }
             throw new RuntimeException("Could not construct CodeSource for file: " + file, cause);

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/lang/MetaClassImpl.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/MetaClassImpl.java b/src/main/groovy/groovy/lang/MetaClassImpl.java
index 427bf29..8409bbf 100644
--- a/src/main/groovy/groovy/lang/MetaClassImpl.java
+++ b/src/main/groovy/groovy/lang/MetaClassImpl.java
@@ -872,7 +872,7 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
         if(isGetter) {
             final Class[] getPropertyArgs = {String.class};
             final MetaMethod method = findMethodInClassHierarchy(instance.getClass(), GET_PROPERTY_METHOD, getPropertyArgs, this);
-            if(method != null && method instanceof ClosureMetaMethod) {
+            if(method instanceof ClosureMetaMethod) {
                 onGetPropertyFoundInHierarchy(method);
                 return method.invoke(instance,new Object[]{propertyName});
             }
@@ -880,7 +880,7 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
         else {
             final Class[] setPropertyArgs = {String.class, Object.class};
             final MetaMethod method = findMethodInClassHierarchy(instance.getClass(), SET_PROPERTY_METHOD, setPropertyArgs, this);
-            if(method != null && method instanceof ClosureMetaMethod) {
+            if(method instanceof ClosureMetaMethod) {
                 onSetPropertyFoundInHierarchy(method);
                 return method.invoke(instance, new Object[]{propertyName, optionalValue});
             }
@@ -943,7 +943,7 @@ public class MetaClassImpl implements MetaClass, MutableMetaClass {
             // still not method here, so see if there is an invokeMethod method up the hierarchy
             final Class[] invokeMethodArgs = {String.class, Object[].class};
             method = findMethodInClassHierarchy(instanceKlazz, INVOKE_METHOD_METHOD, invokeMethodArgs, this );
-            if(method != null && method instanceof ClosureMetaMethod) {
+            if(method instanceof ClosureMetaMethod) {
                 onInvokeMethodFoundInHierarchy(method);
                 return method.invoke(instance, invokeMethodArgs);
             }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/lang/Script.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Script.java b/src/main/groovy/groovy/lang/Script.java
index 196c74c..ea70461 100644
--- a/src/main/groovy/groovy/lang/Script.java
+++ b/src/main/groovy/groovy/lang/Script.java
@@ -85,7 +85,7 @@ public abstract class Script extends GroovyObjectSupport {
             try {
                 if (name.equals(mme.getMethod())) {
                     Object boundClosure = getProperty(name);
-                    if (boundClosure != null && boundClosure instanceof Closure) {
+                    if (boundClosure instanceof Closure) {
                         return ((Closure) boundClosure).call((Object[])args);
                     } else {
                         throw mme;

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/lang/Tuple.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/lang/Tuple.java b/src/main/groovy/groovy/lang/Tuple.java
index 036d13e..eb9956f 100644
--- a/src/main/groovy/groovy/lang/Tuple.java
+++ b/src/main/groovy/groovy/lang/Tuple.java
@@ -65,7 +65,7 @@ public class Tuple<E> extends AbstractList<E> implements Serializable {
     @Override
     public boolean equals(Object o) {
         if (this == o) return true;
-        if (o == null || !(o instanceof Tuple)) return false;
+        if (!(o instanceof Tuple)) return false;
 
         Tuple that = (Tuple) o;
         int size = size();

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/util/Expando.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/Expando.java b/src/main/groovy/groovy/util/Expando.java
index f009551..7b2279a 100644
--- a/src/main/groovy/groovy/util/Expando.java
+++ b/src/main/groovy/groovy/util/Expando.java
@@ -115,7 +115,7 @@ public class Expando extends GroovyObjectSupport {
      */
     public String toString() {
         Object method = getProperties().get("toString");
-        if (method != null && method instanceof Closure) {
+        if (method instanceof Closure) {
             // invoke overridden toString closure method
             Closure closure = (Closure) method;
             closure.setDelegate(this);
@@ -133,7 +133,7 @@ public class Expando extends GroovyObjectSupport {
      */
     public boolean equals(Object obj) {
         Object method = getProperties().get("equals");
-        if (method != null && method instanceof Closure) {
+        if (method instanceof Closure) {
             // invoke overridden equals closure method
             Closure closure = (Closure) method;
             closure.setDelegate(this);
@@ -152,7 +152,7 @@ public class Expando extends GroovyObjectSupport {
      */
     public int hashCode() {
         Object method = getProperties().get("hashCode");
-        if (method != null && method instanceof Closure) {
+        if (method instanceof Closure) {
             // invoke overridden hashCode closure method
             Closure closure = (Closure) method;
             closure.setDelegate(this);

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/util/Node.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/Node.java b/src/main/groovy/groovy/util/Node.java
index b6e0e37..7063fba 100644
--- a/src/main/groovy/groovy/util/Node.java
+++ b/src/main/groovy/groovy/util/Node.java
@@ -79,7 +79,7 @@ public class Node implements Serializable, Cloneable {
     @Override
     public Object clone() {
         Object newValue = value;
-        if (value != null && value instanceof NodeList) {
+        if (value instanceof NodeList) {
             NodeList nodes = (NodeList) value;
             newValue = nodes.clone();
         }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/util/ObservableList.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/ObservableList.java b/src/main/groovy/groovy/util/ObservableList.java
index c860fea..3d14734 100644
--- a/src/main/groovy/groovy/util/ObservableList.java
+++ b/src/main/groovy/groovy/util/ObservableList.java
@@ -152,7 +152,7 @@ public class ObservableList implements List {
     private void fireAddWithTest(Object element, int index, int oldSize) {
         if (test != null) {
             Object result = test.call(element);
-            if (result != null && result instanceof Boolean && (Boolean) result) {
+            if (result instanceof Boolean && (Boolean) result) {
                 fireElementAddedEvent(index, element);
                 fireSizeChangedEvent(oldSize, size());
             }
@@ -175,7 +175,7 @@ public class ObservableList implements List {
             for (Object element : c) {
                 if (test != null) {
                     Object result = test.call(element);
-                    if (result != null && result instanceof Boolean && (Boolean) result) {
+                    if (result instanceof Boolean && (Boolean) result) {
                         values.add(element);
                     }
                 } else {
@@ -321,7 +321,7 @@ public class ObservableList implements List {
         Object oldValue = delegate.set(index, element);
         if (test != null) {
             Object result = test.call(element);
-            if (result != null && result instanceof Boolean && ((Boolean) result).booleanValue()) {
+            if (result instanceof Boolean && ((Boolean) result).booleanValue()) {
                 fireElementUpdatedEvent(index, oldValue, element);
             }
         } else {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/util/ObservableMap.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/ObservableMap.java b/src/main/groovy/groovy/util/ObservableMap.java
index ed34064..ab59388 100644
--- a/src/main/groovy/groovy/util/ObservableMap.java
+++ b/src/main/groovy/groovy/util/ObservableMap.java
@@ -189,7 +189,7 @@ public class ObservableMap implements Map {
             } else {
                 result = test.call(value);
             }
-            if (result != null && result instanceof Boolean && (Boolean) result) {
+            if (result instanceof Boolean && (Boolean) result) {
                 if (newKey) {
                     firePropertyAddedEvent(key, value);
                     fireSizeChangedEvent(oldSize, size());
@@ -229,7 +229,7 @@ public class ObservableMap implements Map {
                     } else {
                         result = test.call(newValue);
                     }
-                    if (result != null && result instanceof Boolean && (Boolean) result) {
+                    if (result instanceof Boolean && (Boolean) result) {
                         if (newKey) {
                             events.add(new PropertyAddedEvent(this, key, newValue));
                         } else if (oldValue != newValue) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/groovy/groovy/util/ObservableSet.java
----------------------------------------------------------------------
diff --git a/src/main/groovy/groovy/util/ObservableSet.java b/src/main/groovy/groovy/util/ObservableSet.java
index 851c651..cbd9477 100644
--- a/src/main/groovy/groovy/util/ObservableSet.java
+++ b/src/main/groovy/groovy/util/ObservableSet.java
@@ -191,7 +191,7 @@ public class ObservableSet<E> implements Set<E> {
         if (success) {
             if (test != null) {
                 Object result = test.call(e);
-                if (result != null && result instanceof Boolean && (Boolean) result) {
+                if (result instanceof Boolean && (Boolean) result) {
                     fireElementAddedEvent(e);
                     fireSizeChangedEvent(oldSize, size());
                 }
@@ -234,7 +234,7 @@ public class ObservableSet<E> implements Set<E> {
             for (E element : c) {
                 if (test != null) {
                     Object result = test.call(element);
-                    if (result != null && result instanceof Boolean && (Boolean) result && !duplicates.contains(element)) {
+                    if (result instanceof Boolean && (Boolean) result && !duplicates.contains(element)) {
                         values.add(element);
                     }
                 } else if (!duplicates.contains(element)) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java b/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
index 6ddb6b7..9b3981a 100644
--- a/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
+++ b/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java
@@ -1723,7 +1723,7 @@ public class AntlrParserPlugin extends ASTHelper implements ParserPlugin, Groovy
 
         // let's do the catch nodes
         List<CatchStatement> catches = new ArrayList<CatchStatement>();
-        for (; node != null && isType(LITERAL_catch, node); node = node.getNextSibling()) {
+        for (; isType(LITERAL_catch, node); node = node.getNextSibling()) {
             final List<CatchStatement> catchStatements = catchStatement(node);
             catches.addAll(catchStatements);
         }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java b/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java
index fe7a7da..2dcdc54 100644
--- a/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/ConstructorNode.java
@@ -48,7 +48,7 @@ public class ConstructorNode extends MethodNode {
     
     public boolean firstStatementIsSpecialConstructorCall() {
         Statement code = getFirstStatement();
-        if (code == null || !(code instanceof ExpressionStatement)) return false;
+        if (!(code instanceof ExpressionStatement)) return false;
 
         Expression expression = ((ExpressionStatement) code).getExpression();
         if (!(expression instanceof ConstructorCallExpression)) return false;

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/classgen/ClassCompletionVerifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/ClassCompletionVerifier.java b/src/main/java/org/codehaus/groovy/classgen/ClassCompletionVerifier.java
index b05f6bd..e2a848b 100644
--- a/src/main/java/org/codehaus/groovy/classgen/ClassCompletionVerifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/ClassCompletionVerifier.java
@@ -149,7 +149,7 @@ public class ClassCompletionVerifier extends ClassCodeVisitorSupport {
                         cn = ClassHelper.make(typeClass);
                     }
                 }
-                if (cn == null || !Traits.isTrait(cn)) {
+                if (!Traits.isTrait(cn)) {
                     ASTNode errorNode = methodNode;
                     String name = mn.getName();
                     if (errorNode.getLineNumber() == -1) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/classgen/Verifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/Verifier.java b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
index 090cc4f..dadb1d3 100644
--- a/src/main/java/org/codehaus/groovy/classgen/Verifier.java
+++ b/src/main/java/org/codehaus/groovy/classgen/Verifier.java
@@ -1094,7 +1094,7 @@ public class Verifier implements GroovyClassVisitor, Opcodes {
     }
 
     private static ConstructorCallExpression getFirstIfSpecialConstructorCall(Statement code) {
-        if (code == null || !(code instanceof ExpressionStatement)) return null;
+        if (!(code instanceof ExpressionStatement)) return null;
 
         Expression expression = ((ExpressionStatement) code).getExpression();
         if (!(expression instanceof ConstructorCallExpression)) return null;

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
index 9db7599..b44c544 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticInvocationWriter.java
@@ -164,7 +164,7 @@ public class StaticInvocationWriter extends InvocationWriter {
                     Map<MethodNode, MethodNode> bridgeMethods = declaringClass.getNodeMetaData(StaticCompilationMetadataKeys.PRIVATE_BRIDGE_METHODS);
                     bridge = bridgeMethods != null ? bridgeMethods.get(cn) : null;
                 }
-                if (bridge != null && bridge instanceof ConstructorNode) {
+                if (bridge instanceof ConstructorNode) {
                     ArgumentListExpression newArgs = new ArgumentListExpression(new ConstantExpression(null));
                     for (Expression arg: args) {
                         newArgs.addExpression(arg);
@@ -247,7 +247,7 @@ public class StaticInvocationWriter extends InvocationWriter {
                     ClassNode current = thisClass.getOuterClass();
                     fixedReceiver = new VariableExpression("thisObject", current);
                     // adjust for multiple levels of nesting if needed
-                    while (current != null && current instanceof InnerClassNode && !lookupClassNode.equals(current)) {
+                    while (current instanceof InnerClassNode && !lookupClassNode.equals(current)) {
                         FieldNode thisField = current.getField("this$0");
                         current = current.getOuterClass();
                         if (thisField != null) {
@@ -359,7 +359,7 @@ public class StaticInvocationWriter extends InvocationWriter {
                     ClassNode current = classNode.getOuterClass();
                     fixedReceiver = new VariableExpression("thisObject", current);
                     // adjust for multiple levels of nesting if needed
-                    while (current != null && current instanceof InnerClassNode && !classNode.equals(current)) {
+                    while (current instanceof InnerClassNode && !classNode.equals(current)) {
                         FieldNode thisField = current.getField("this$0");
                         current = current.getOuterClass();
                         if (thisField != null) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
index f89a675..b717c42 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
@@ -639,7 +639,7 @@ public class StaticTypesCallSiteWriter extends CallSiteWriter implements Opcodes
         // first, direct access from within the class or inner class nodes
         if (declaringClass.equals(receiverType)) return true;
         if (receiverType instanceof InnerClassNode) {
-            while (receiverType!=null && receiverType instanceof InnerClassNode) {
+            while (receiverType instanceof InnerClassNode) {
                 if (declaringClass.equals(receiverType)) return true;
                 receiverType = receiverType.getOuterClass();
             }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/control/ErrorCollector.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/control/ErrorCollector.java b/src/main/java/org/codehaus/groovy/control/ErrorCollector.java
index b388caa..d6c97a8 100644
--- a/src/main/java/org/codehaus/groovy/control/ErrorCollector.java
+++ b/src/main/java/org/codehaus/groovy/control/ErrorCollector.java
@@ -242,7 +242,7 @@ public class ErrorCollector {
         SyntaxException exception = null;
 
         Message message = getError(index);
-        if (message != null && message instanceof SyntaxErrorMessage) {
+        if (message instanceof SyntaxErrorMessage) {
             exception = ((SyntaxErrorMessage) message).getCause();
         }
         return exception;

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/control/StaticImportVisitor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/control/StaticImportVisitor.java b/src/main/java/org/codehaus/groovy/control/StaticImportVisitor.java
index 199b4ad..86ff461 100644
--- a/src/main/java/org/codehaus/groovy/control/StaticImportVisitor.java
+++ b/src/main/java/org/codehaus/groovy/control/StaticImportVisitor.java
@@ -199,7 +199,7 @@ public class StaticImportVisitor extends ClassCodeExpressionTransformer {
 
     protected Expression transformVariableExpression(VariableExpression ve) {
         Variable v = ve.getAccessedVariable();
-        if (v != null && v instanceof DynamicVariable) {
+        if (v instanceof DynamicVariable) {
             Expression result = findStaticFieldOrPropAccessorImportFromModule(v.getName());
             if (result != null) {
                 setSourcePosition(result, ve);

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/control/StaticVerifier.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/control/StaticVerifier.java b/src/main/java/org/codehaus/groovy/control/StaticVerifier.java
index 53706f9..6bf3908 100644
--- a/src/main/java/org/codehaus/groovy/control/StaticVerifier.java
+++ b/src/main/java/org/codehaus/groovy/control/StaticVerifier.java
@@ -59,7 +59,7 @@ public class StaticVerifier extends ClassCodeVisitorSupport {
     @Override
     public void visitVariableExpression(VariableExpression ve) {
         Variable v = ve.getAccessedVariable();
-        if (v != null && v instanceof DynamicVariable) {
+        if (v instanceof DynamicVariable) {
             if (!inPropertyExpression || inSpecialConstructorCall) addStaticVariableError(ve);
         }
     }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
index 8aad2e6..c5f9c11 100644
--- a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
+++ b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
@@ -405,7 +405,7 @@ public class CachedClass {
     }
 
     private void addSubclassExpandos(List<MetaMethod> arr, MetaClass mc) {
-        if (mc != null && mc instanceof ExpandoMetaClass) {
+        if (mc instanceof ExpandoMetaClass) {
             ExpandoMetaClass emc = (ExpandoMetaClass) mc;
             for (Object mm : emc.getExpandoSubclassMethods()) {
                 if (mm instanceof MetaMethod) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java b/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
index 8b102db..f75c08b 100644
--- a/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
+++ b/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
@@ -509,7 +509,7 @@ public class InvokerHelper {
         } catch (InvokerInvocationException iie) {
             // GROOVY-5802 IAE for missing properties with classes that extend List
             Throwable cause = iie.getCause();
-            if (cause == null || !(cause instanceof IllegalArgumentException)) throw iie;
+            if (!(cause instanceof IllegalArgumentException)) throw iie;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/ASTTransformationCollectorCodeVisitor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/ASTTransformationCollectorCodeVisitor.java b/src/main/java/org/codehaus/groovy/transform/ASTTransformationCollectorCodeVisitor.java
index 7629ee7..29def6c 100644
--- a/src/main/java/org/codehaus/groovy/transform/ASTTransformationCollectorCodeVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/ASTTransformationCollectorCodeVisitor.java
@@ -246,7 +246,7 @@ public class ASTTransformationCollectorCodeVisitor extends ClassCodeVisitorSuppo
 
     private static AnnotationCollectorMode getMode(AnnotationNode node) {
         final Expression member = node.getMember("mode");
-        if (member != null && member instanceof PropertyExpression) {
+        if (member instanceof PropertyExpression) {
             PropertyExpression prop = (PropertyExpression) member;
             Expression oe = prop.getObjectExpression();
             if (oe instanceof ClassExpression) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java
index 6e781ad..c13c8ef 100644
--- a/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/AbstractASTTransformation.java
@@ -94,20 +94,20 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform
 
     public boolean memberHasValue(AnnotationNode node, String name, Object value) {
         final Expression member = node.getMember(name);
-        return member != null && member instanceof ConstantExpression && ((ConstantExpression) member).getValue().equals(value);
+        return member instanceof ConstantExpression && ((ConstantExpression) member).getValue().equals(value);
     }
 
     public Object getMemberValue(AnnotationNode node, String name) {
         final Expression member = node.getMember(name);
-        if (member != null && member instanceof ConstantExpression) return ((ConstantExpression) member).getValue();
+        if (member instanceof ConstantExpression) return ((ConstantExpression) member).getValue();
         return null;
     }
 
     public static String getMemberStringValue(AnnotationNode node, String name, String defaultValue) {
         final Expression member = node.getMember(name);
-        if (member != null && member instanceof ConstantExpression) {
+        if (member instanceof ConstantExpression) {
             Object result = ((ConstantExpression) member).getValue();
-            if (result != null && result instanceof String && isUndefined((String) result)) result = null;
+            if (result instanceof String && isUndefined((String) result)) result = null;
             if (result != null) return result.toString();
         }
         return defaultValue;
@@ -119,7 +119,7 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform
 
     public int getMemberIntValue(AnnotationNode node, String name) {
         Object value = getMemberValue(node, name);
-        if (value != null && value instanceof Integer) {
+        if (value instanceof Integer) {
             return (Integer) value;
         }
         return 0;
@@ -178,7 +178,7 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform
     public static List<String> getMemberList(AnnotationNode anno, String name) {
         List<String> list;
         Expression expr = anno.getMember(name);
-        if (expr != null && expr instanceof ListExpression) {
+        if (expr instanceof ListExpression) {
             final ListExpression listExpression = (ListExpression) expr;
             list = getValueStringList(listExpression);
         } else {
@@ -190,7 +190,7 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform
     private static List<String> getValueStringList(ListExpression listExpression) {
         List<String> list = new ArrayList<String>();
         for (Expression itemExpr : listExpression.getExpressions()) {
-            if (itemExpr != null && itemExpr instanceof ConstantExpression) {
+            if (itemExpr instanceof ConstantExpression) {
                 Object value = ((ConstantExpression) itemExpr).getValue();
                 if (value != null) list.add(value.toString());
             }
@@ -202,10 +202,10 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform
     public List<ClassNode> getClassList(AnnotationNode anno, String name) {
         List<ClassNode> list = new ArrayList<ClassNode>();
         Expression expr = anno.getMember(name);
-        if (expr != null && expr instanceof ListExpression) {
+        if (expr instanceof ListExpression) {
             final ListExpression listExpression = (ListExpression) expr;
             list = getTypeList(listExpression);
-        } else if (expr != null && expr instanceof ClassExpression) {
+        } else if (expr instanceof ClassExpression) {
             ClassNode cn = expr.getType();
             if (cn != null) list.add(cn);
         }
@@ -235,7 +235,7 @@ public abstract class AbstractASTTransformation implements Opcodes, ASTTransform
     private static List<ClassNode> getTypeList(ListExpression listExpression) {
         List<ClassNode> list = new ArrayList<ClassNode>();
         for (Expression itemExpr : listExpression.getExpressions()) {
-            if (itemExpr != null && itemExpr instanceof ClassExpression) {
+            if (itemExpr instanceof ClassExpression) {
                 ClassNode cn = itemExpr.getType();
                 if (cn != null) list.add(cn);
             }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/AutoCloneASTTransformation.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/AutoCloneASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/AutoCloneASTTransformation.java
index a782775..c935502 100644
--- a/src/main/java/org/codehaus/groovy/transform/AutoCloneASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/AutoCloneASTTransformation.java
@@ -289,7 +289,7 @@ public class AutoCloneASTTransformation extends AbstractASTTransformation {
 
     private static AutoCloneStyle getStyle(AnnotationNode node, String name) {
         final Expression member = node.getMember(name);
-        if (member != null && member instanceof PropertyExpression) {
+        if (member instanceof PropertyExpression) {
             PropertyExpression prop = (PropertyExpression) member;
             Expression oe = prop.getObjectExpression();
             if (oe instanceof ClassExpression) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/BuilderASTTransformation.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/BuilderASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/BuilderASTTransformation.java
index 3cc49a2..3f4ea27 100644
--- a/src/main/java/org/codehaus/groovy/transform/BuilderASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/BuilderASTTransformation.java
@@ -121,7 +121,7 @@ public class BuilderASTTransformation extends AbstractASTTransformation implemen
 
         protected boolean unsupportedAttribute(BuilderASTTransformation transform, AnnotationNode anno, String memberName, String extraMessage) {
             Object memberValue = transform.getMemberValue(anno, memberName);
-            if (memberValue != null && memberValue instanceof String && isUndefined((String) memberValue)) return false;
+            if (memberValue instanceof String && isUndefined((String) memberValue)) return false;
             if (memberValue == null) {
                 memberValue = transform.getMemberClassValue(anno, memberName);
                 if (memberValue != null && isUndefined((ClassNode) memberValue)) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/CategoryASTTransformation.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/CategoryASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/CategoryASTTransformation.java
index 6189c1c..2e9831c 100644
--- a/src/main/java/org/codehaus/groovy/transform/CategoryASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/CategoryASTTransformation.java
@@ -281,7 +281,7 @@ public class CategoryASTTransformation implements ASTTransformation, Opcodes {
 
     private static ClassNode getTargetClass(SourceUnit source, AnnotationNode annotation) {
         Expression value = annotation.getMember("value");
-        if (value == null || !(value instanceof ClassExpression)) {
+        if (!(value instanceof ClassExpression)) {
             //noinspection ThrowableInstanceNeverThrown
             source.getErrorCollector().addErrorAndContinue(new SyntaxErrorMessage(
                     new SyntaxException("@groovy.lang.Category must define 'value' which is the class to apply this category to",

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/sc/transformers/ListExpressionTransformer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/sc/transformers/ListExpressionTransformer.java b/src/main/java/org/codehaus/groovy/transform/sc/transformers/ListExpressionTransformer.java
index 55970e6..a415d05 100644
--- a/src/main/java/org/codehaus/groovy/transform/sc/transformers/ListExpressionTransformer.java
+++ b/src/main/java/org/codehaus/groovy/transform/sc/transformers/ListExpressionTransformer.java
@@ -41,7 +41,7 @@ public class ListExpressionTransformer {
 
     Expression transformListExpression(final ListExpression expr) {
         MethodNode target = expr.getNodeMetaData(StaticTypesMarker.DIRECT_METHOD_CALL_TARGET);
-        if (target!=null && target instanceof ConstructorNode) {
+        if (target instanceof ConstructorNode) {
             if (target.getDeclaringClass().isArray()) {
                 return transformArrayConstructor(expr, target);
             }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
index f944c99..afb91d1 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
@@ -702,7 +702,7 @@ public abstract class StaticTypeCheckingSupport {
 
         // char as left expression
         if (leftRedirect == char_TYPE && rightRedirect==STRING_TYPE) {
-            if (rightExpression!=null && rightExpression instanceof ConstantExpression) {
+            if (rightExpression instanceof ConstantExpression) {
                 String value = rightExpression.getText();
                 return value.length()==1;
             }

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index d335b6d..760eeed 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -1819,7 +1819,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
             if (key instanceof VariableExpression) {
                 ClassNode origType = varOrigType.get(key);
                 ClassNode newType = entry.getValue();
-                if (varOrigType.containsKey(key) && (origType == null || !newType.equals(origType))) {
+                if (varOrigType.containsKey(key) && (!newType.equals(origType))) {
                     return true;
                 }
             }
@@ -2885,7 +2885,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
                     final List<Expression> expressions = arguments.getExpressions();
                     final int expressionsSize = expressions.size();
                     Expression parameter = annotation.getMember("target");
-                    String parameterName = parameter!=null && parameter instanceof ConstantExpression ?parameter.getText():"";
+                    String parameterName = parameter instanceof ConstantExpression ?parameter.getText():"";
                     // todo: handle vargs!
                     for (int j = 0, paramsLength = params.length; j < paramsLength; j++) {
                         final Parameter methodParam = params[j];
@@ -2893,12 +2893,12 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
                         if (targets != null && targets.size() == 1) {
                             AnnotationNode targetAnnotation = targets.get(0); // @DelegatesTo.Target Obj foo
                             Expression idMember = targetAnnotation.getMember("value");
-                            String id = idMember != null && idMember instanceof ConstantExpression ? idMember.getText() : "";
+                            String id = idMember instanceof ConstantExpression ? idMember.getText() : "";
                             if (id.equals(parameterName)) {
                                 if (j < expressionsSize) {
                                     Expression actualArgument = expressions.get(j);
                                     ClassNode actualType = getType(actualArgument);
-                                    if (genericTypeIndex!=null && genericTypeIndex instanceof ConstantExpression) {
+                                    if (genericTypeIndex instanceof ConstantExpression) {
                                         int gti = Integer.parseInt(genericTypeIndex.getText());
                                         ClassNode paramType = methodParam.getType(); // type annotated with @DelegatesTo.Target
                                         GenericsType[] genericsTypes = paramType.getGenericsTypes();
@@ -3710,7 +3710,7 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
     /// it seems attractive to want to do this for more cases but perhaps not all cases
     private ClassNode checkForTargetType(final Expression expr, final ClassNode type) {
         BinaryExpression enclosingBinaryExpression = typeCheckingContext.getEnclosingBinaryExpression();
-        if (enclosingBinaryExpression != null && enclosingBinaryExpression instanceof DeclarationExpression
+        if (enclosingBinaryExpression instanceof DeclarationExpression
                 && isEmptyCollection(expr) && isAssignment(enclosingBinaryExpression.getOperation().getType())) {
             VariableExpression target = (VariableExpression) enclosingBinaryExpression.getLeftExpression();
             return adjustForTargetType(target.getType(), type);

http://git-wip-us.apache.org/repos/asf/groovy/blob/75e1e878/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java b/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
index a7c647f..2e98b48 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
@@ -77,7 +77,7 @@ public class TraitTypeCheckingExtension extends AbstractTypeCheckingExtension {
                 } else if (isThisTraitReceiver(var)) {
                     type = receiver;
                 }
-                if (type != null && Traits.isTrait(type) && !(type instanceof UnionTypeClassNode)) {
+                if (Traits.isTrait(type) && !(type instanceof UnionTypeClassNode)) {
                     ClassNode helper = Traits.findHelper(type);
                     Parameter[] params = new Parameter[argumentTypes.length + 1];
                     params[0] = new Parameter(ClassHelper.CLASS_Type.getPlainNodeReference(), "staticSelf");


[2/3] groovy git commit: Unnecessary zero length array usage

Posted by su...@apache.org.
Unnecessary zero length array usage


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

Branch: refs/heads/master
Commit: c0b5ea27efa2a82217197104fda1ba98271d344e
Parents: 75e1e87
Author: sunlan <su...@apache.org>
Authored: Tue Apr 3 07:50:33 2018 +0800
Committer: sunlan <su...@apache.org>
Committed: Tue Apr 3 07:58:46 2018 +0800

----------------------------------------------------------------------
 src/main/java/org/codehaus/groovy/reflection/CachedClass.java | 2 +-
 src/main/java/org/codehaus/groovy/tools/DgmConverter.java     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/c0b5ea27/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
index c5f9c11..80bc040 100644
--- a/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
+++ b/src/main/java/org/codehaus/groovy/reflection/CachedClass.java
@@ -151,7 +151,7 @@ public class CachedClass {
                 else
                   methods.add(cachedMethod);
             }
-            CachedMethod [] resMethods = methods.toArray(new CachedMethod[0]);
+            CachedMethod [] resMethods = methods.toArray(CachedMethod.EMPTY_ARRAY);
             Arrays.sort(resMethods);
 
             final CachedClass superClass = getCachedSuperClass();

http://git-wip-us.apache.org/repos/asf/groovy/blob/c0b5ea27/src/main/java/org/codehaus/groovy/tools/DgmConverter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/codehaus/groovy/tools/DgmConverter.java b/src/main/java/org/codehaus/groovy/tools/DgmConverter.java
index 98d5cf9..b8adfd3 100644
--- a/src/main/java/org/codehaus/groovy/tools/DgmConverter.java
+++ b/src/main/java/org/codehaus/groovy/tools/DgmConverter.java
@@ -50,7 +50,7 @@ public class DgmConverter implements Opcodes {
         for (Class aClass : DefaultGroovyMethods.DGM_LIKE_CLASSES) {
             Collections.addAll(cachedMethodsList, ReflectionCache.getCachedClass(aClass).getMethods());
         }
-        final CachedMethod[] cachedMethods = cachedMethodsList.toArray(new CachedMethod[0]);
+        final CachedMethod[] cachedMethods = cachedMethodsList.toArray(CachedMethod.EMPTY_ARRAY);
 
         List<GeneratedMetaMethod.DgmMethodRecord> records = new ArrayList<GeneratedMetaMethod.DgmMethodRecord>();