--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Wed Apr 09 14:05:24 2008 +0100
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Attr.java Wed Apr 09 14:45:50 2008 +0100
@@ -1878,8 +1878,10 @@
boolean varArgs = env.info.varArgs;
tree.sym = sym;
- if (site.tag == TYPEVAR && !isType(sym) && sym.kind != ERR)
- site = capture(site.getUpperBound());
+ if (site.tag == TYPEVAR && !isType(sym) && sym.kind != ERR) {
+ while (site.tag == TYPEVAR) site = site.getUpperBound();
+ site = capture(site);
+ }
// If that symbol is a variable, ...
if (sym.kind == VAR) {