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/02/18 16:02:59 UTC
[groovy] branch master updated: minor edits
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 9219777 minor edits
9219777 is described below
commit 92197773b75a68cb7e411511e0282a45fbe453ba
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Thu Feb 18 09:58:18 2021 -0600
minor edits
---
.../codehaus/groovy/ast/tools/GenericsUtils.java | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
index eddfb9d..8cb3f2c 100644
--- a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
+++ b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
@@ -39,7 +39,6 @@ import org.codehaus.groovy.runtime.memoize.ConcurrentSoftCache;
import org.codehaus.groovy.runtime.memoize.EvictableCache;
import java.lang.ref.SoftReference;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@@ -312,12 +311,15 @@ public class GenericsUtils {
if (type.isArray()) {
return makeClassSafeWithGenerics(type.getComponentType(), genericTypes).makeArray();
}
- GenericsType[] gtypes = EMPTY_GENERICS_ARRAY;
- if (genericTypes != null) {
- gtypes = new GenericsType[genericTypes.length];
- System.arraycopy(genericTypes, 0, gtypes, 0, gtypes.length);
+ int nTypes = (genericTypes == null ? 0 : genericTypes.length);
+ GenericsType[] gTypes;
+ if (nTypes == 0) {
+ gTypes = EMPTY_GENERICS_ARRAY;
+ } else {
+ gTypes = new GenericsType[nTypes];
+ System.arraycopy(genericTypes, 0, gTypes, 0, nTypes);
}
- return makeClassSafe0(type, gtypes);
+ return makeClassSafe0(type, gTypes);
}
public static MethodNode correctToGenericsSpec(Map<String, ClassNode> genericsSpec, MethodNode mn) {
@@ -334,7 +336,7 @@ public class GenericsUtils {
}
public static ClassNode correctToGenericsSpecRecurse(Map<String, ClassNode> genericsSpec, ClassNode type) {
- return correctToGenericsSpecRecurse(genericsSpec, type, new ArrayList<String>());
+ return correctToGenericsSpecRecurse(genericsSpec, type, Collections.emptyList());
}
/**
@@ -345,7 +347,7 @@ public class GenericsUtils {
ClassNode[] newTypes = new ClassNode[types.length];
boolean modified = false;
for (int i = 0; i < types.length; i++) {
- newTypes[i] = correctToGenericsSpecRecurse(genericsSpec, types[i], new ArrayList<String>());
+ newTypes[i] = correctToGenericsSpecRecurse(genericsSpec, types[i], Collections.emptyList());
modified = modified || (types[i] != newTypes[i]);
}
if (!modified) return types;
@@ -356,8 +358,8 @@ public class GenericsUtils {
if (type.isArray()) {
return correctToGenericsSpecRecurse(genericsSpec, type.getComponentType(), exclusions).makeArray();
}
- if (type.isGenericsPlaceHolder() && !exclusions.contains(type.getUnresolvedName())) {
- String name = type.getGenericsTypes()[0].getName();
+ String name = type.getUnresolvedName();
+ if (type.isGenericsPlaceHolder() && !exclusions.contains(name)) {
exclusions = plus(exclusions, name); // GROOVY-7722
type = genericsSpec.get(name);
if (type != null && type.isGenericsPlaceHolder()) {