+2006-03-20 Raja R Harinath <rharinath@novell.com>
+
+ Fix #77852
+ * generic.cs (Constraints.Resolve): Change argument to IResolveContext.
+ (TypeParameter.Resolve): Update to change.
+ (ConstraintChecker.CheckConstraints): Resolve type-argument
+ constraints before use.
+
2006-03-16 Martin Baulig <martin@ximian.com>
* generic.cs
/// Resolve the constraints - but only resolve things into Expression's, not
/// into actual types.
/// </summary>
- public bool Resolve (EmitContext ec)
+ public bool Resolve (IResolveContext ec)
{
if (resolved)
return true;
public bool Resolve (DeclSpace ds)
{
if (constraints != null) {
- if (!constraints.Resolve (ds.EmitContext)) {
+ if (!constraints.Resolve (ds)) {
constraints = null;
return false;
}
if (atype.IsGenericParameter) {
GenericConstraints agc = TypeManager.GetTypeParameterConstraints (atype);
if (agc != null) {
+ if (agc is Constraints)
+ ((Constraints) agc).Resolve (ec);
is_class = agc.HasReferenceTypeConstraint;
is_struct = agc.HasValueTypeConstraint;
} else {