SUGGESTED FIX
------- Resolve.java -------
*** /tmp/sccs.aGaqm1 Sat Aug 16 22:00:00 2003
--- Resolve.java Sat Aug 16 21:52:34 2003
***************
*** 517,524 ****
/* Return the most specific of the two methods for a call,
* given that both are accessible and applicable.
! * @param m1 Once choice for most specific.
! * @param m2 The other possible most specific method.
* @param env The current environment.
* @param site The original type from where the selection
* takes place.
--- 517,524 ----
/* Return the most specific of the two methods for a call,
* given that both are accessible and applicable.
! * @param m1 A new candidate for most specific.
! * @param m2 The previous most specific candidate.
* @param env The current environment.
* @param site The original type from where the selection
* takes place.
***************
*** 574,580 ****
Symbol err2 = mostSpecific(m1, e.sym2, env, site, allowBoxing, useVarargs);
if (err1 == err2) return err1;
if (err1 == e.sym1 && err2 == e.sym2) return m2;
! return new AmbiguityError(err1, err2);
default:
throw new AssertionError();
}
--- 574,585 ----
Symbol err2 = mostSpecific(m1, e.sym2, env, site, allowBoxing, useVarargs);
if (err1 == err2) return err1;
if (err1 == e.sym1 && err2 == e.sym2) return m2;
! if (err1 instanceof AmbiguityError &&
! err2 instanceof AmbiguityError &&
! ((AmbiguityError)err1).sym1 == ((AmbiguityError)err2).sym1)
! return new AmbiguityError(m1, m2);
! else
! return new AmbiguityError(err1, err2);
default:
throw new AssertionError();
}
|