You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2021/03/30 14:15:49 UTC
[groovy] branch master updated: minor stuff
This is an automated email from the ASF dual-hosted git repository.
emilles pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/master by this push:
new e1e1e8a minor stuff
e1e1e8a is described below
commit e1e1e8afef0da0a7158338b9a52db18555232106
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Tue Mar 30 09:00:48 2021 -0500
minor stuff
---
.../org/codehaus/groovy/ast/GroovyCodeVisitor.java | 18 ++++-----
.../groovy/ast/GroovyCodeVisitorAdapter.java | 3 ++
.../groovy/classgen/EnumCompletionVisitor.java | 2 +-
.../org/codehaus/groovy/runtime/InvokerHelper.java | 3 +-
.../transform/stc/StaticTypeCheckingSupport.java | 45 +++++++++++-----------
5 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitor.java b/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitor.java
index dcda3d8..a2f9c57 100644
--- a/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitor.java
+++ b/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitor.java
@@ -118,11 +118,11 @@ public interface GroovyCodeVisitor {
void visitCatchStatement(CatchStatement statement);
- default void visitEmptyStatement(EmptyStatement statement) {}
+ default void visitEmptyStatement(EmptyStatement statement) {
+ }
- default void visit(Statement statement) {
- if (null == statement) return;
- statement.visit(this);
+ default void visit(final Statement statement) {
+ if (statement != null) statement.visit(this);
}
//--------------------------------------------------------------------------
@@ -202,14 +202,14 @@ public interface GroovyCodeVisitor {
void visitBytecodeExpression(BytecodeExpression expression);
- default void visitEmptyExpression(EmptyExpression expression) {}
+ default void visitEmptyExpression(EmptyExpression expression) {
+ }
- default void visitListOfExpressions(List<? extends Expression> list) {
+ default void visitListOfExpressions(final List<? extends Expression> list) {
if (list != null) list.forEach(expr -> expr.visit(this));
}
- default void visit(Expression expression) {
- if (null == expression) return;
- expression.visit(this);
+ default void visit(final Expression expression) {
+ if (expression != null) expression.visit(this);
}
}
diff --git a/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitorAdapter.java b/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitorAdapter.java
index fae8dbc..91091ee 100644
--- a/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitorAdapter.java
+++ b/src/main/java/org/codehaus/groovy/ast/GroovyCodeVisitorAdapter.java
@@ -74,6 +74,9 @@ import org.codehaus.groovy.ast.stmt.TryCatchStatement;
import org.codehaus.groovy.ast.stmt.WhileStatement;
import org.codehaus.groovy.classgen.BytecodeExpression;
+/**
+ * @since 4.0.0
+ */
public class GroovyCodeVisitorAdapter implements GroovyCodeVisitor {
// statements:
diff --git a/src/main/java/org/codehaus/groovy/classgen/EnumCompletionVisitor.java b/src/main/java/org/codehaus/groovy/classgen/EnumCompletionVisitor.java
index 8b24c4a..ce40b80 100644
--- a/src/main/java/org/codehaus/groovy/classgen/EnumCompletionVisitor.java
+++ b/src/main/java/org/codehaus/groovy/classgen/EnumCompletionVisitor.java
@@ -92,7 +92,7 @@ public class EnumCompletionVisitor extends ClassCodeVisitorSupport {
return;
}
}
- TupleConstructorASTTransformation.addSpecialMapConstructors(0, enumClass, "One of the enum constants for enum " +
+ TupleConstructorASTTransformation.addSpecialMapConstructors(ACC_PRIVATE, enumClass, "One of the enum constants for enum " +
enumClass.getName() + " was initialized with null. Please use a non-null value or define your own constructor.", true);
}
diff --git a/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java b/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
index 03e2fb3..82a8868 100644
--- a/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
+++ b/src/main/java/org/codehaus/groovy/runtime/InvokerHelper.java
@@ -995,12 +995,11 @@ public class InvokerHelper {
public static Object invokeMethod(Object object, String methodName, Object arguments) {
if (object == null) {
object = NullObject.getNullObject();
- //throw new NullPointerException("Cannot invoke method " + methodName + "() on null object");
}
// if the object is a Class, call a static method from that class
if (object instanceof Class) {
- Class theClass = (Class) object;
+ Class<?> theClass = (Class<?>) object;
MetaClass metaClass = metaRegistry.getMetaClass(theClass);
return metaClass.invokeStaticMethod(object, methodName, asArray(arguments));
}
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 2286ed6..462f519 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingSupport.java
@@ -212,29 +212,26 @@ public abstract class StaticTypeCheckingSupport {
* from superclass or interface otherwise the system won't be able to select the correct method, resulting
* in an ambiguous method selection for similar methods.
*/
- protected static final Comparator<MethodNode> DGM_METHOD_NODE_COMPARATOR = new Comparator<MethodNode>() {
- @Override
- public int compare(final MethodNode o1, final MethodNode o2) {
- if (o1.getName().equals(o2.getName())) {
- Parameter[] o1ps = o1.getParameters();
- Parameter[] o2ps = o2.getParameters();
- if (o1ps.length == o2ps.length) {
- boolean allEqual = true;
- for (int i = 0; i < o1ps.length && allEqual; i++) {
- allEqual = o1ps[i].getType().equals(o2ps[i].getType());
- }
- if (allEqual) {
- if (o1 instanceof ExtensionMethodNode && o2 instanceof ExtensionMethodNode) {
- return compare(((ExtensionMethodNode) o1).getExtensionMethodNode(), ((ExtensionMethodNode) o2).getExtensionMethodNode());
- }
- return 0;
+ protected static final Comparator<MethodNode> DGM_METHOD_NODE_COMPARATOR = (mn1, mn2) -> {
+ if (mn1.getName().equals(mn2.getName())) {
+ Parameter[] pa1 = mn1.getParameters();
+ Parameter[] pa2 = mn2.getParameters();
+ if (pa1.length == pa2.length) {
+ boolean allEqual = true;
+ for (int i = 0, n = pa1.length; i < n && allEqual; i += 1) {
+ allEqual = pa1[i].getType().equals(pa2[i].getType());
+ }
+ if (allEqual) {
+ if (mn1 instanceof ExtensionMethodNode && mn2 instanceof ExtensionMethodNode) {
+ return StaticTypeCheckingSupport.DGM_METHOD_NODE_COMPARATOR.compare(((ExtensionMethodNode) mn1).getExtensionMethodNode(), ((ExtensionMethodNode) mn2).getExtensionMethodNode());
}
- } else {
- return o1ps.length - o2ps.length;
+ return 0;
}
+ } else {
+ return pa1.length - pa2.length;
}
- return 1;
}
+ return 1;
};
protected static final ExtensionMethodCache EXTENSION_METHOD_CACHE = ExtensionMethodCache.INSTANCE;
@@ -1810,10 +1807,12 @@ public abstract class StaticTypeCheckingSupport {
private static GenericsType[] applyGenericsContext(final Map<GenericsTypeName, GenericsType> spec, final GenericsType[] gts) {
if (gts == null) return null;
- GenericsType[] newGTs = new GenericsType[gts.length];
- for (int i = 0, n = gts.length; i < n; i += 1) {
- GenericsType gt = gts[i];
- newGTs[i] = applyGenericsContext(spec, gt);
+
+ int n = gts.length;
+ if (n == 0) return gts;
+ GenericsType[] newGTs = new GenericsType[n];
+ for (int i = 0; i < n; i += 1) {
+ newGTs[i] = applyGenericsContext(spec, gts[i]);
}
return newGTs;
}