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 2019/11/09 16:15:03 UTC
[groovy] 02/02: minor edits for readability
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
commit a219aca034911057aa44c2644acac171b540a327
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Sat Nov 9 10:14:50 2019 -0600
minor edits for readability
---
.../codehaus/groovy/ast/tools/GenericsUtils.java | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 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 0644ed9..0ff33de 100644
--- a/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
+++ b/src/main/java/org/codehaus/groovy/ast/tools/GenericsUtils.java
@@ -370,28 +370,31 @@ public class GenericsUtils {
newgTypes = new GenericsType[oldgTypes.length];
for (int i = 0; i < newgTypes.length; i++) {
GenericsType oldgType = oldgTypes[i];
- if (oldgType.isPlaceholder()) {
- if (genericsSpec.get(oldgType.getName()) != null) {
- newgTypes[i] = new GenericsType(genericsSpec.get(oldgType.getName()));
- } else {
- newgTypes[i] = new GenericsType(ClassHelper.OBJECT_TYPE);
- }
- } else if (oldgType.isWildcard()) {
- ClassNode oldLower = oldgType.getLowerBound();
- ClassNode lower = oldLower != null ? correctToGenericsSpecRecurse(genericsSpec, oldLower, exclusions) : null;
+ if (oldgType.isWildcard()) {
ClassNode[] oldUpper = oldgType.getUpperBounds();
ClassNode[] upper = null;
if (oldUpper != null) {
+ // correct "? extends T" or "? extends T & I"
upper = new ClassNode[oldUpper.length];
for (int j = 0; j < oldUpper.length; j++) {
upper[j] = correctToGenericsSpecRecurse(genericsSpec, oldUpper[j], exclusions);
}
}
+ ClassNode oldLower = oldgType.getLowerBound();
+ ClassNode lower = null;
+ if (oldLower != null) {
+ // correct "? super T"
+ lower = correctToGenericsSpecRecurse(genericsSpec, oldLower, exclusions);
+ }
GenericsType fixed = new GenericsType(oldgType.getType(), upper, lower);
fixed.setName(oldgType.getName());
fixed.setWildcard(true);
newgTypes[i] = fixed;
+ } else if (oldgType.isPlaceholder()) {
+ // correct "T"
+ newgTypes[i] = new GenericsType(genericsSpec.getOrDefault(oldgType.getName(), ClassHelper.OBJECT_TYPE));
} else {
+ // correct "List<T>", etc.
newgTypes[i] = new GenericsType(correctToGenericsSpecRecurse(genericsSpec, correctToGenericsSpec(genericsSpec, oldgType), exclusions));
}
}