//
// Checks all type arguments againts type parameters constraints
- // NOTE: It can run in probing mode when `mc' is null
+ // NOTE: It can run in probing mode when `this.mc' is null
//
public bool CheckAll (MemberSpec context, TypeSpec[] targs, TypeParameterSpec[] tparams, Location loc)
{
import_cache.Add (type, spec);
+ if (kind == MemberKind.TypeParameter) {
+ if (canImportBaseType)
+ ImportTypeParameterTypeConstraints ((TypeParameterSpec) spec, type);
+
+ return spec;
+ }
+
//
// Two stage setup as the base type can be inflated declaring type or
// another nested type inside same declaring type which has not been
ImportTypeParameterTypeConstraints (tp, tp.GetMetaInfo ());
}
}
-
}
protected void ImportTypes (MetaType[] types, Namespace targetNamespace, bool hasExtensionTypes)