Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java')
-rw-r--r--org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java
index 64950c21d..07cf5b3d4 100644
--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java
+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java
@@ -521,17 +521,17 @@ public class ParameterizedTypeBinding extends ReferenceBinding implements Substi
// * Bi is not a subtype of U,
// then Ai' is an upper-bounded wildcard, ? extends U.
if (u.id != TypeIds.T_JavaLangObject
- && (b_i.mentionsAny(typeVariables, -1) || b_i.findSuperTypeOriginatingFrom(u) == null)) {
- a_i_primes[i] = this.environment().createWildcard(null, i, u, null, Wildcard.EXTENDS);
+ && (b_i.mentionsAny(typeVariables, -1) || !b_i.isSubtypeOf(u))) {
+ a_i_primes[i] = this.environment().createWildcard(genericType(), i, u, null, Wildcard.EXTENDS);
} else {
TypeBinding l = a_i.downwardsProjection(scope, mentionedTypeVariables);
// Otherwise, if the downward projection of Ai is L,
// then Ai' is a lower-bounded wildcard, ? super L.
if (l != null) {
- a_i_primes[i] = this.environment().createWildcard(null, i, l, null, Wildcard.SUPER);
+ a_i_primes[i] = this.environment().createWildcard(genericType(), i, l, null, Wildcard.SUPER);
} else {
// Otherwise, the downward projection of Ai is undefined and Ai' is an unbounded wildcard, ?.
- a_i_primes[i] = this.environment().createWildcard(null, i, null, null, Wildcard.UNBOUND);
+ a_i_primes[i] = this.environment().createWildcard(genericType(), i, null, null, Wildcard.UNBOUND);
}
}
} else {
@@ -1884,7 +1884,7 @@ public class ParameterizedTypeBinding extends ReferenceBinding implements Substi
if (newArguments[i] == null) {
newArguments[i] = new ProblemReferenceBinding(arg.internalName(),
(arg instanceof ReferenceBinding) ? (ReferenceBinding)arg: null,
- ProblemReasons.NotFound);
+ ProblemReasons.NotFound, true);
continue; // not a good modification
}
modified |= (newArguments[i] != arg); //$IDENTITY-COMPARISON$

Back to the top